2019独角兽企业重金招聘Python工程师标准>>>

详解:http://www.jb51.net/article/51627.htm

注意:使用rank()over(order by 排序字段 顺序)排序的时候,空值是最大的
(如果排序字段为null,可能造成在排序时将null字段排在最前面,影响排序的正确性。
所以建议将dense_rank()over(order by 列名 排序)改为dense_rank()over(order by 列名 排序 nulls last)
这样只要排序字段为null,就会放在最后,而不会影响排序结果).

问题:

分区与分组有什么区别?

分区使用的是rank() over (partition by 分区字段 order by 排序字段 顺序), 分组使用的是 group by 分组字段

·分区只是将原始数据进行名次排列(记录数不变),

·分组是对原始数据进行聚合统计(记录数变少,每组返回一条),注意:聚合。

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

1.两种计算方式(连续,不连续),对应函数:dense_rank,rank。

2.两种排名方式(分区和不分区):使用和不使用partition。

语法:

rank() over (order by 排序字段 顺序)

rank() over (partition by 分区字段 order by 排序字段 顺序),

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

1,实例:查询各学生科目为Oracle排名(简单排名)

select sc.s_id,sc.s_name,sub_name,sc.score,

rank() over (order by score desc) 名次

from t_score sc

where sub_name='Oracle'

2.对比:rank()与dense_rank():非连续排名与连续排名(都是简单排名)

select sc.s_id,sc.s_name,sub_name,sc.score,

dense_rank() over (order by score desc) 名次

from t_score sc

where sub_name='Oracle'

数据库中有两个并列的第一名

区别:使用rank进行的排名,结果是不连续的 :1 1 3

使用dense_rank进行的排名,结果是连续的: 1 1 2

3.查询各学生各科排名(分区排名)

select sc.s_id,sc.s_name,sub_name,sc.score,

rank() over

(partition by sub_name(这个是学科的名字) order by score desc) 名次

from t_score sc

转载于:https://my.oschina.net/u/2870118/blog/806913

orcale的rank(排名函数)实例相关推荐

  1. Mysql常用函数之Rank 排名函数

    mysql中的排名函数 主要介绍一下mysql里面的排名函数,涉及到的函数有以下几个: rank().dense_rank().row_number() 1.准备工作 建立一个rank表: creat ...

  2. SQLServer RANK() 排名函数、其他相关函数

    一.Rank()函数例子 (1)默认查询及对应字段 as 别名 select FOURCARD as 组名,WCBL 金额进度,tbje as 同比金额,HUBI as 环比金额 from a (2) ...

  3. mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  4. mysql rank_在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  5. rank()函数 mysql_在MySQL中实现Rank高级排名函数

    在MySQL中实现Rank高级排名函数 MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可 ...

  6. MySQL排名函数实现

    作者:神易风 原文链接(底部链接可直达):https://shenyifengtk.github.io/2020/07/22/MySQL%E6%8E%92%E5%90%8D%E5%87%BD%E6%9 ...

  7. Oracle排名函数(Rank)实例详解

    这篇文章主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下 --已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应函数:d ...

  8. excel排名_WPS-Excel表格实用技巧——排位排名函数(RANK函数)的使用

    平时使用excel表格处理数据时经常会用到排序功能,一般使用"升序"和"降序"工具按钮就可以完成简单的排序任务,但是当我们遇到相同数值在总体中的排名时,简单的& ...

  9. SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较

    排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数row_number.rank.dense_rank和ntile,需要的朋友可以参考下. 排名函数是 ...

最新文章

  1. [转载] 七龙珠第一部——第057话 小雨对布鲁
  2. 用户信息填写web代码_基于web的自定义表单引擎
  3. Kali Linux又增加一个顶级域名kali.download
  4. springcloud13---zuul
  5. excel对比_质量管理误区:SPC软件与微软Excel的应用对比
  6. react+ant design Breadcrumb面包屑组件
  7. TCP/IP协议族-----10、搬家IP
  8. IOS开发UIScrollView控件详解
  9. mysql+odbc+ado_MFC ado+mysql+odbc技术分享
  10. kubenetes平台监控cAdvisor查看
  11. 标签在线调整 http://labelary.com/viewer.html
  12. oracle数据库考试答题,Oracle数据库试题
  13. 颠覆传统-面向对象的设计思想(序章续)
  14. L--弹出层js实例
  15. Mugeda(木疙瘩)H5案例课—换装小游戏-岑远科-专题视频课程
  16. 用python来开发webgame服务端(4)
  17. 绿色手动安装MySQL数据库
  18. 100多个优秀的互联网编程学习平台整理。
  19. 怎样记住英语单词的意思
  20. 常见网络安全设备弱口令(默认口令)

热门文章

  1. 使用autossh实现开机创建ssh tunnel的方法以及shell脚本.
  2. Python re module的使用
  3. 139邮箱的邮件附件功能
  4. luogu1341 无序字母对
  5. 边工作边刷题:70天一遍leetcode: day 98
  6. git 修改上次提交信息 与 撤销此操作.
  7. 工作三年的一点感想(展望篇)
  8. 运用代码管理段来提升开发效率
  9. CVE-2018-15473(OpenSSH用户枚举漏洞)
  10. 多个video标签,控制最多只能一个同时播放