赞
踩
rank() over的作用是查出指定条件后进行一个排序,但是有一个特点。使用这个函数,相同列值并列显示,如两个为4的排序,然后接下来就是排序为6,其中排名5跳过。
dense_rank() over的作用和rank() over一样,都是排序而且形同列的值并列显示,如排序为4的两个。但是和rank() over不同的是,接下来它还是会显示排序5的。这就是密集排序。
row_number() over和上面两个函数不同,它不会考虑并列问题,哪怕查询的列值相同,也不会考虑并列,直接排序下去。
上面的三个函数,还可以分组,以rank() over 为例:
select sal,row_number() over (partitition by deptno order by sal) as sal_rank from scott.emp;
其他两个同样,可以这样分组。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。