查询中经常遇到这种查询,分组后取每组第一条。分享下一个SQL语句:
--根据 g 分组后,根据 p 排序后取第一条
select * from (
select ROW_NUMBER() over(partition by g order by p desc) RowNumber,table.*
from table) as t where RowNumber = 1
查询中经常遇到这种查询,分组后取每组第一条。分享下一个SQL语句:
--根据 g 分组后,根据 p 排序后取第一条
select * from (
select ROW_NUMBER() over(partition by g order by p desc) RowNumber,table.*
from table) as t where RowNumber = 1