oracle 按某个字段分组然后从每组取出最大的一条纪录

时间:2022-05-29 13:42:59
字段有:listid recid
        1       1
        1       2
        2       3
        2       4
        2       5
想得到的数据是     按照   listid  分组   然后取出每组中recid最大的那几条纪录。结果应该是这两条纪录: 


   字段:listid  recid

        1       2
        2       5



代码:
select  listid,recid   
from ( select listid,recid,row_number() over(partition by listid order by    recid desc) rn  
          from mo_partprg)   t1 where rn=1;