[转帖]SQL中partition关键字的使用
Posted 燕闪硕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转帖]SQL中partition关键字的使用相关的知识,希望对你有一定的参考价值。
最近在写后台语句时候,运用到了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关键字的使用的主要内容,如果未能解决你的问题,请参考以下文章
数据仓库系列 之SQL中row_number() over (partition by)的详解