oracle 中rank(),sql – 在oracle中RANK()和DENSE_RANK()函数之间有什么区别?
发布日期:2022-02-08 20:24:02 浏览次数:31 分类:技术文章

本文共 1123 字,大约阅读时间需要 3 分钟。

RANK给你在你的有序分区内的排名。关系被分配相同的排名,跳过下一个排名。所以,如果你有3个项目在排名2,下一个排名将排​​名5。

DENSE_RANK再次给你的有序分区中的排名,但排名是连续的。如果有多个项目的排名,则不跳过任何排名。

对于null,它取决于ORDER BY子句。这里是一个简单的测试脚本,你可以玩,看看会发生什么:

with q as (

select 10 deptno, 'rrr' empname, 10000.00 sal from dual union all

select 11, 'nnn', 20000.00 from dual union all

select 11, 'mmm', 5000.00 from dual union all

select 12, 'kkk', 30000 from dual union all

select 10, 'fff', 40000 from dual union all

select 10, 'ddd', 40000 from dual union all

select 10, 'bbb', 50000 from dual union all

select 10, 'xxx', null from dual union all

select 10, 'ccc', 50000 from dual)

select empname, deptno, sal

, rank() over (partition by deptno order by sal nulls first) r

, dense_rank() over (partition by deptno order by sal nulls first) dr1

, dense_rank() over (partition by deptno order by sal nulls last) dr2

from q;

EMP DEPTNO SAL R DR1 DR2

--- ---------- ---------- ---------- ---------- ----------

xxx 10 1 1 4

rrr 10 10000 2 2 1

fff 10 40000 3 3 2

ddd 10 40000 3 3 2

ccc 10 50000 5 4 3

bbb 10 50000 5 4 3

mmm 11 5000 1 1 1

nnn 11 20000 2 2 2

kkk 12 30000 1 1 1

9 rows selected.

Here’s a link到一个很好的解释和一些例子。

转载地址:https://blog.csdn.net/weixin_33132553/article/details/116324682 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:oracle 查询最高分,SQL查找一个表里,每个班级的最高分。
下一篇:oracle客户端连接阻塞,java – Oracle JDBC间歇性连接问题

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月06日 06时59分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

w3wp ash oracle,[20200409]使用ash_wait_chains注意的一个细节.txt 2019-04-21
c语言程序设计教程谭浩强张基温,C语言程序设计教程(第2版) 2019-04-21
idea xml文件引入类提示_IDEA中导入多module的Maven项目后子项目不正常的情况 2019-04-21
太赫兹芯片是什么原理_什么是太赫兹技术?艾舒朗太赫兹理疗鞋——脑梗后遗症+便秘+久站腿疼腿肿案例... 2019-04-21
exfat默认配置大小_mac开发配置技巧 2019-04-21
三星k3梅林没有软件中心_10万出头买顶配,1.4T合资家轿起亚K3换新,还带换挡拨片... 2019-04-21
k8s边缘节点_边缘计算容器及K8S应用的三种场景及部署选项 2019-04-21
诸葛io的技术架构图_基于泳道技术生成“无数”个测试环境 2019-04-21
互相引用 spring_# 技术笔记:spring、springBoot源码解析 2021-06-24
华为发布岳云鹏手机_鸿蒙2.0正式发布:明年华为手机全面升级 2021-06-24
ifpc挖filecoin_Filecoin挖矿分析全套 不容错过的干货 2021-06-24
python扫雷 高级算法_Python玩转算法—扫雷 2021-06-24
牛客网python测试考试答案_牛客网SQL题库之考试分数 2021-06-24
git获取所有branch_使用jGit 通过gitUrl 获取Git的所有分支 2021-06-24
mysql like 数字结尾_重拾MySQL之正则表达式 2021-06-24
mysql where从句_《快速念咒——MySQL自学入门指南》:第1章第8节:模糊查询LIKE——一窝兔子(上)... 2021-06-24
mysql 重置密码_mysql忘记密码如何重置密码,以及修改root密码的三种方法 2021-06-24
python-docx tables后追加内容_Mac brew安装MySQL8.0.21后忘记密码(重置密码篇) 2021-06-24
python中两个时间相减结果转为小时_Python起步(二)基础数据类型1 2021-06-24
定义泛化。举个例子_网易考拉应用的dubbo泛化调用,是如何实现的? 2021-06-24