给定此数据
用户身份 | 完成日期 |
---|---|
1 | 2016-07-20 |
1 | 2016-07-21 |
2 | 2016-07-20 |
2 | 2016-07-21 |
2 | 2016-07-22 |
;with CTE as (SELECT *, ROW_NUMBER() OVER (PARTITION BY User_ID ORDER BY Completion_Date DESC) Row_Num FROM Data) SELECT * FORM CTE WHERE Row_Num <= n
使用n = 1,您将获得每个最近的一行user_id:
用户身份 | 完成日期 | 行数 |
---|---|---|
1 | 2016-07-21 | 1 |
2 | 2016-07-22 | 1 |