注册 登录
编程论坛 SQL Server论坛

请问如何查询出每个人的最后的状态及其日期?谢谢!

mansohu 发布于 2016-09-22 16:51, 2301 次点击
T1:
日期  人员   状态
1-1    张    状态1
1-2    李    状态3
1-3    赵    状态1
1-4    张    状态2
1-5    李    状态1
……
请问如何查询出每个人的最后的状态及其日期?谢谢!
2 回复
#2
mywisdom882016-09-22 19:43
以下是引用mansohu在2016-9-22 16:51:51的发言:

T1:
日期  人员   状态
1-1    张    状态1
1-2    李    状态3
1-3    赵    状态1
1-4    张    状态2
1-5    李    状态1
……
请问如何查询出每个人的最后的状态及其日期?谢谢!
select a.* from 表 a,(select max(日期) as 日期,人员 from 表 group by 人员)b
where a.日期=b.日期 and a.人员=b.人员
#3
小羊沉默2016-09-23 12:25
SELECT 人员,状态,日期 FROM (SELECT 人员,状态,日期,ROW_NUMBER() OVER(PARTITION BY 人员 ORDER BY 日期 DESC) AS NUM   FROM T1 WHERE NUM = 1 )

[此贴子已经被作者于2016-9-23 12:27编辑过]

1