orcale的rank(排名函数)实例
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(排名函数)实例相关推荐
- Mysql常用函数之Rank 排名函数
mysql中的排名函数 主要介绍一下mysql里面的排名函数,涉及到的函数有以下几个: rank().dense_rank().row_number() 1.准备工作 建立一个rank表: creat ...
- SQLServer RANK() 排名函数、其他相关函数
一.Rank()函数例子 (1)默认查询及对应字段 as 别名 select FOURCARD as 组名,WCBL 金额进度,tbje as 同比金额,HUBI as 环比金额 from a (2) ...
- mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
- mysql rank_在MySQL中实现Rank高级排名函数
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
- rank()函数 mysql_在MySQL中实现Rank高级排名函数
在MySQL中实现Rank高级排名函数 MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可 ...
- MySQL排名函数实现
作者:神易风 原文链接(底部链接可直达):https://shenyifengtk.github.io/2020/07/22/MySQL%E6%8E%92%E5%90%8D%E5%87%BD%E6%9 ...
- Oracle排名函数(Rank)实例详解
这篇文章主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下 --已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应函数:d ...
- excel排名_WPS-Excel表格实用技巧——排位排名函数(RANK函数)的使用
平时使用excel表格处理数据时经常会用到排序功能,一般使用"升序"和"降序"工具按钮就可以完成简单的排序任务,但是当我们遇到相同数值在总体中的排名时,简单的& ...
- SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数row_number.rank.dense_rank和ntile,需要的朋友可以参考下. 排名函数是 ...
最新文章
- [转载] 七龙珠第一部——第057话 小雨对布鲁
- 用户信息填写web代码_基于web的自定义表单引擎
- Kali Linux又增加一个顶级域名kali.download
- springcloud13---zuul
- excel对比_质量管理误区:SPC软件与微软Excel的应用对比
- react+ant design Breadcrumb面包屑组件
- TCP/IP协议族-----10、搬家IP
- IOS开发UIScrollView控件详解
- mysql+odbc+ado_MFC ado+mysql+odbc技术分享
- kubenetes平台监控cAdvisor查看
- 标签在线调整 http://labelary.com/viewer.html
- oracle数据库考试答题,Oracle数据库试题
- 颠覆传统-面向对象的设计思想(序章续)
- L--弹出层js实例
- Mugeda(木疙瘩)H5案例课—换装小游戏-岑远科-专题视频课程
- 用python来开发webgame服务端(4)
- 绿色手动安装MySQL数据库
- 100多个优秀的互联网编程学习平台整理。
- 怎样记住英语单词的意思
- 常见网络安全设备弱口令(默认口令)