分组排序并显示序号

排序找出年龄在13岁到16岁数据,按salary排序

1 select id,name,age,salary,row_number()over(order by salary desc) rank
3 from TEST_ROW_NUMBER_OVER t where age between '13' and '16'

结果:结果中 rank 的序号,其实就表明了 over(order by salary desc) 是在where age between and 后执行的

根据id分组,以salary倒序排序,找出每一组中序号为一的数据

1 select * from(select id,name,age,salary,row_number()over(partition by id order by salary desc) rank
2 from TEST_ROW_NUMBER_OVER t)
3 where rank <2

结果:

原文地址:https://www.cnblogs.com/coder1000/p/14048758.html