原始数据展示
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/b807342956a1dadcdcf6f42c22891734.png)
一:SQL展示
select id,name,age,salary,row_number()over(order by salary desc) rnfrom TEST_ROW_NUMBER_OVER t
SQL语句后的展示:
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/e16a72cac62b67603a0b1968c3d3a640.png)
SQL解释:根据salary倒叙,进行排序,但是没有进行分组
二、SQL展示
select id,name,age,salary,row_number()over(partition by id order by salary desc) rkfrom TEST_ROW_NUMBER_OVER t
SQL语句后的展示:
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/01ba78f9c0268d444532999cc7eaa567.png)
SQL解释:根据id进行分组,同一组内salary倒叙排序,并根据此来rank排序
三、SQL展示
select id,name,age,salary,row_number()over(order by salary desc) rkfrom TEST_ROW_NUMBER_OVER t where age between '13' and '16'
SQL语句后的展示:
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/aad670f72eb6cd893fbe818a3722eb29.png)
select id,name,age,salary,row_number()over(order by salary desc) rkfrom TEST_ROW_NUMBER_OVER t where age > 15
SQL语句后的展示:
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/23b350a96236039406e3fafd0eaa9e41.png)
在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于
where 、group by、order by 的执行。
![640?wx_fmt=jpeg](https://i-blog.csdnimg.cn/blog_migrate/cf4b9de455387c9e7ffe3c6dfd2d7b46.jpeg)