如何在 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
我有一个 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