如何在SQL服务器中分组和排序?

时间:2015-12-14 14:21:18

标签: sql-server sql-order-by

我有一个数据表如下,我想选择数据跟随分组顺序如下图所示

SELECT  USER_ID, USER_PROFILE_ID, START_DATE FROM ABC
    ORDER BY START_DATE DESC

enter image description here

结果,我有3行,现在,我想要2行,我将在START_DATE前订单并删除相同的行GROUP BY USER_ID和USER_PROFILE_ID

1 个答案:

答案 0 :(得分:2)

要获取最新的行(对于给定的用户和个人资料),请使用:

SELECT  
    USER_ID, 
    USER_PROFILE_ID, 
    MAX(START_DATE) as START_DATE  
FROM ABC
GROUP BY USER_ID, USER_PROFILE_ID

您可以为此添加ORDER BY。请注意按日期排序,您需要使用MAX(START_DATE)DESC。

SQL文档https://msdn.microsoft.com/en-us/library/ms177673.aspx

中的更多详细信息