SQL中partition关键字的使用

需要取出,每一个人最近的一次打卡时间。

思路是,先把数据按照人名分组,然后在每个组里面按照时间排倒叙,最后取出每组的第一条数据即可。

partition的意思是对数据进行分区,sql语句如下

select * from

(

SELECT

ROW_NUMBER() over(partition by [姓名] order by [打卡时间] desc) as rowNum

,[姓名]

,[打卡时间]

FROM [dbo].[打卡记录表]

) temp

where temp.rowNum = 1

通过 partition by [姓名] order by [打卡时间] desc,这句就可以做到,让数据按照姓名分组,并且在每组内部按照时间进行排序

posted @ 2023-05-09 14:21  lucken  阅读(510)  评论(0)    收藏  举报