码迷,mamicode.com
首页 > 数据库 > 详细

[转帖]SQL中partition关键字的使用

时间:2019-01-07 10:37:36      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:html   分享   logs   ref   分区   sele   bsp   info   log   

原文链接

最近在写后台语句时候,运用到了partition这样一个关键字。

先大致说一下背景,有一种数据表,如下

技术分享图片

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

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

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

技术分享图片
1         select * from
2         (
3           SELECT 
4                 ROW_NUMBER() over(partition by [姓名] order by [打卡时间] desc) as rowNum
5               ,[姓名]
6               ,[打卡时间]
7           FROM [dbo].[打卡记录表]
8         ) temp
9         where temp.rowNum = 1
技术分享图片

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

原文链接

[转帖]SQL中partition关键字的使用

标签:html   分享   logs   ref   分区   sele   bsp   info   log   

原文地址:https://www.cnblogs.com/yanshanshuo/p/10231325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!