一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
来源:互联网 发布:压缩文件破解软件 编辑:程序博客网 时间:2024/06/02 04:54
转自:http://blog.csdn.net/s630730701/article/details/51902762
在SCOTT用户下,执行下面SQL;
SELECT
s.deptno,s.ename,s.sal,
RANK() over(partition by s.deptno order by s.sal) as rank,
DENSE_RANK() over(partition by s.deptno order by s.sal) as dense_rank,
ROW_NUMBER() over(partition by s.deptno order by s.sal) as row_number
FROM emp s;
这是一个查询每个部门员工工资的排序情况
从查询结果中很明显的发现规律:
RANK() 发生不持续的编号 例如数据值 1,2,2,3 发生的编号将是1,2,2,4
DENSE_RANK() 发生持续的编号 例如数据值 1,2,2,3 发生的编号将是1,2,2,3
ROW_NUMBER() 发生持续的编号(不重复) 例如数据值 1,2,2,3 发生的编号将是1,2,3,4
RANK() 和 DENSE_RANK() 排序的差异就是排序存在并列的情况下。
0 0
- 一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
- 一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
- sqlserver 开窗函数over RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
- SQL排序 RANK/DENSE_RANK/ROW_NUMBER/NTILE
- SQL语句之分析函数 row_number() /rank()/dense_rank()
- SQL SERVER 排序函数ROW_NUMBER、RANK、DENSE_RANK、NTILE
- [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
- [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
- [Oracle]高效的SQL语句之分析函数--row_number() /rank()/dense_rank()
- [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
- [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
- SQL Server 2005四个新的排序函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE
- SQL Server 2005四个新的排序函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE
- SQL Server 2005四个新的排序函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE
- SQL Server 2005四个新的排序函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE
- ROW_NUMBER、RANK、DENSE_RANK的用法
- ROW_NUMBER、RANK、DENSE_RANK的用法
- ROW_NUMBER、RANK、DENSE_RANK的用法
- 自定义键盘
- 博文导航
- c++用标准输入输出流测试数据
- vector,list,map,set
- ScheduleThreadPoolExecutor的工作原理与使用示例
- 一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
- 敏捷软件开发宣言
- 分布式案例补充--zookeeper
- 使用第三方推送功能变相实现一些即时通讯操作
- Try disabling Instant Run
- 索引
- kubenetes源码分析之DNS(五)
- [android]JPush自定义通知栏
- LintCode 32 最小子串覆盖