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

字段有: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;  

 

Row_number函数

语法:row_number() over(parations by order by )

常用于按照某个字段的纬度去筛选掉重复数据,得到唯一的数据


————————————————
版权声明:本文为CSDN博主「安丶随」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012381992/article/details/51684118