oracle-分组并查询最大值||每组的前几条数据

查询sql 

select * from 
(select t.*, row_number() over(partition by t.em order by t.id desc ) rn
from test.com t )
where rn <=1

数据中原数据:

NAME ID SAL EM    
yang 1.00 1000.00 1.00    
liu 2.00 2000.00 1.00    
wang 3.00 4900.00 2.00    
zhi 4.00 5666.00 2.00    
sha 5.00 6777.00 3.00    
deng 6.00 833.00 3.00    
           
           

 查询结果:

NAME ID SAL EM RN  
liu 2.00 2000.00 1.00 1.00  
zhi 4.00 5666.00 2.00 1.00  
deng 6.00 833.00 3.00 1.00  
           

猜你喜欢

转载自blog.csdn.net/lovePaul77/article/details/83858339