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,這句就可以做到,讓數據按照姓名分組,並且在每組內部按照時間進行排序

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM