分组排序并显示序号

排序找出年龄在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

结果:

posted @ 2020-11-27 16:23  ct-group  阅读(259)  评论(1)    收藏  举报