SqlServer分组排序后取第一条记录
在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;