在SQL Server中,要进行分组然后排序后,获取每个分组的第一条数据。,
比如查询用户某一天最后一笔交易后的账户余额,具体的SQL实现如下:

SELECT t.* FROM (
    SELECT 
        *, 
        row_number () OVER ( partition BY username ORDER BY tradeTime DESC ) rowid
    FROM table
    WHERE dateStr = '2017-08-31' 
) t
WHERE t.rowid = 1;

标签: SQL Server, SQL, 分组后取第一条, 数据库分组后取第一条数据, 分组排序后取第一条

添加新评论