查询仅检索每个用户输入的最后日期的记录

时间:2015-08-23 20:07:28

标签: sql sql-server greatest-n-per-group sql-server-2014

如果我有这样的桌子:

Username    Comment    Date
-------------------------------    
   X        test1      1-1-2015      
   X        test2      1-3-2015      
   X        test3      1-6-2015      
   Y        test1      1-4-2015      
   Y        test2      1-5-2015      
   Y        test3      1-9-2015

我需要得到如下所示的输出结果

Username    Comment    Date
----------------------------
    X       test3      1-6-2015      
    Y       test3      1-9-2015      

输出:

仅检索X&的记录Y基于上次日期(获取用户名和输入的最后日期的评论)

有没有办法使用SQL Server 2014来获得这样的结果?

1 个答案:

答案 0 :(得分:3)

您可以使用row_number选择每个用户名的最新评论

select * from (
  select * , row_number() over (partition by username order by date desc) rn
  from mytable
) t1 where rn = 1