>  기사  >  데이터 베이스  >  sql 选取每个分组中的第一条数据

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

WBOY
WBOY원래의
2016-06-07 17:43:021662검색

--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

--未完待续

,香港空间,网站空间,香港服务器租用
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사: 【转】SQL行列转换다음 기사: 第四章 高级查询