分组后取每组第一条的通用SQL语句

查询中经常遇到这种查询,分组后取每组第一条。分享下一个SQL语句:

 

--根据 x 分组后、根据 y 排序后取第一条
select * from (
 select ROW_NUMBER() over(partition by x order by y desc) RowNum
   ,testTable.*
   from testTable) as t1  where RowNum = 1

注:我使用MS SQL 08 R2

版权声明:本文为moretry原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/moretry/p/4478705.html