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

How to group by and order by in SQL server?

我有一个 table 数据如下,我想 select 数据按照如下图所示进行分组和排序

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

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

要获取最新的行(针对给定的用户和配置文件),请使用:

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