SqlServerselectgroupby之外的列,有时候会有通过一个或多个列进行group by操作,然而想要select 的却是 group by 之外的列(也许这些列的值都一样)的需求。
一种trick:
SELECT * FROM (SELECT
*,
row_number () OVER (
partition BY columns
ORDER BY columns
) AS rn
FROM
table
WHERE
conditions
) t
WHERE
rn = 1;
通过子查询实现了类似利用group by分组去重,但依旧提取了group by之外的列的数据的效果。