Rumah  >  Artikel  >  pangkalan data  >  sql 选取每个分组中的第一条数据

sql 选取每个分组中的第一条数据

WBOY
WBOYasal
2016-06-07 17:43:021661semak imbas

--1.创建测试表 Create Table #Order1 ( OrderName varchar(50), RequestDate datetime, OrderCount int ) -- 插入测试数据 insert into #Order1 values('衣服','2013-06-02',2) insert into #Order1 values('衣服','2013-06-03',4) insert into #Order1 val

--1.创建测试表
Create Table #Order1
(
OrderName varchar(50),
RequestDate datetime,
OrderCount int
)
-- 插入测试数据
insert into #Order1 values('衣服','2013-06-02',2)
insert into #Order1 values('衣服','2013-06-03',4)
insert into #Order1 values('衣服','2013-06-04',5)

insert into #Order1 values('鞋','2013-06-02',3)
insert into #Order1 values('鞋','2013-06-03',7)
insert into #Order1 values('鞋','2013-06-04',8)

--选取每组中时间最近的一条

-- 方法1

select * from
(
select ROW_NUMBER()over(PARTITION By OrderName ORDER BY RequestDate DESC) as rownum, OrderCount,OrderName
from #Order1
) T
where T.rownum = 1

--group by OrderName
drop table #Order1

--未完待续

,香港空间,网站空间,香港服务器租用
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya: 【转】SQL行列转换Artikel seterusnya: 第四章 高级查询