1. 程式人生 > >SQL中partition關鍵字的使用

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

轉載:https://www.cnblogs.com/tfiremeteor/p/6296599.html