Oracle分析函数 — rank, dense_rank, row_number用法
本文通过例子演示了Oracle分析函数 —— rank, dense_rank, row_number的用法。
//首先建score表
create table score(
course nvarchar2(20),
stu_name nvarchar2(20),
score number(2));
//插入数据
insert into score values ('Math','Tough1',95);
insert into score values ('Math','Tough2',93);
insert into score values ('Math','Tough3',94);
insert into score values ('Math','Tough4',95);
insert into score values ('Math','Tough5',94);
//查看
select * from score order by score desc;
| COURSE | STU_NAME | SCORE |
| Math | Tough1 | 95 |
| Math | Tough4 | 95 |
| Math | Tough5 | 94 |
| Math | Tough3 | 94 |
| Math | Tough2 | 93 |
- rank() over
按course分组,并按score排名。
若score相同,rank会跳跃式排名——例如有两个第一名,接下来直接是第三名,没有第二名。
select course, stu_name, score,
rank() over(partition by course order by score desc) "RANK"
from score;
| COURSE | STU_NAME | SCORE | RANK |
| Math | Tough1 | 95 | 1 |
| Math | Tough4 | 95 | 1 |
| Math | Tough5 | 94 | 3 |
| Math | Tough3 | 94 | 3 |
| Math | Tough2 | 93 | 5 |
- dense_rank() over
按course分组,并按score排名。
若score相同,dense_rank不会跳跃式排名——例如有两个第一名,接下来是第二名。
select course, stu_name, score,
dense_rank() over(partition by course order by score desc) "RANK"
from score;
| COURSE | STU_NAME | SCORE | RANK |
| Math | Tough1 | 95 | 1 |
| Math | Tough4 | 95 | 1 |
| Math | Tough5 | 94 | 2 |
| Math | Tough3 | 94 | 2 |
| Math | Tough2 | 93 | 3 |
- row_number() over
按course分组,并按score排名。
若score相同,row_number排名也不一样。
select course, stu_name, score,
row_number() over(partition by course order by score desc) "RANK"
from score;
| COURSE | STU_NAME | SCORE | RANK |
| Math | Tough1 | 95 | 1 |
| Math | Tough4 | 95 | 2 |
| Math | Tough5 | 94 | 3 |
| Math | Tough3 | 94 | 4 |
| Math | Tough2 | 93 | 5 |
Oracle分析函数 — rank, dense_rank, row_number用法的更多相关文章
- [转]oracle分析函数Rank, Dense_rank, row_number
oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number) 目录 ==================== ...
- oracle分析函数Rank, Dense_rank, row_number
http://www.cnblogs.com/wuyisky/archive/2010/02/24/oracle_rank.html 目录=============================== ...
- oracle sql rank dense_rank row_number fisrt last
測試表emp
- 【DB2】DB2中rank(),dense_rank(),row_number()的用法
1.准备测试数据 DROP TABLE oliver_1; ),SUB_NO ),SCORE int); ,,); ,,); ,,); ,,); ,,); ,,); 2.详解rank(),dense_ ...
- Oracle 的开窗函数 rank,dense_rank,row_number
1.开窗函数和分组函数的区别 分组函数是指按照某列或者某些列分组后进行某种计算,比如计数,求和等聚合函数进行计算. 开窗函数是指基于某列或某些列让数据有序,数据行数和原始数据数相同,依然能曾现个体数据 ...
- rank,dense_rank,row_number使用和区别
rank,dense_rank,row_number区别 一:语法(用法): rank() over([partition by col1] order by col2) dense ...
- Oracle分析函数-keep(dense_rank first/last)
select * from criss_sales where dept_id = 'D02' order by sale_date ; 此时有个新需求,希望查看部门 D02 内,销售记录时间最早,销 ...
- [z]一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
转自:http://blog.csdn.net/s630730701/article/details/51902762 在SCOTT用户下,执行下面SQL; SELECT s.deptno,s.ena ...
- rank() | dense_rank() | row_number() over(PARTITION BY sex order by age desc ) 的区别
1.row_num() over()函数:根据某个字段排序后编号1,2,3.. select *,ROW_NUMBER() over ( order by majorid) as numfrom St ...
随机推荐
- C#编程实现DNS Client和Server(转)
我们大多数人使用DNS主要是用于域名解析,近期有个特殊的需求:通过DNS协议传递特殊数据.翻遍互联网,最终找到了一个强大的C# DNS工具库 ARSoft.Tools.Net library ,感谢 ...
- Debian 7 64位安装 wine
一.安装 1. # apt-get install wine 安装完后在终端里运行wine: # wine 会弹出一个对话框: This is the wine64-bin helper packag ...
- hadoop学习记录(一)HDFS
hadoop的灵感源于谷歌,最初目的是解决传统数据库处理数据成本高和速度慢的问题. hadoop两个核心项目是HDFS(hadoop分布式文件系统)和MapReduce. HDFS用来实现数据的存储, ...
- linux下获取ip
如果打开虚拟机 没有ip置灰显示了 lo 可以使用dhclient自动获取ip 如果想开机就自动获取ip: vim /etc/rc.d/rc.local 在这里插入dhclient命令
- [转]T4模版引擎之生成数据库实体类
本文转自:http://www.cnblogs.com/lzrabbit/archive/2012/07/18/2597953.html 在通过T4模版引擎之基础入门 对T4有了初步印象后,我们开始实 ...
- [转]网站优化-IIS7下静态文件的优化
本文转自:http://www.cnblogs.com/Leung/archive/2009/10/26/1590256.html 在网站开发过程中,通常我们会对网站的静态文件做处事,像图片文件,CS ...
- SharePoint 2013 网站定义中添加页面布局
今天在Visual Studio 2012中将页面布局打包到网站定义中. 新建Module “MasterPageGallary” 在Element中如下: <Elements xmlns=&q ...
- link与@import区别
1. link属于XHTML标签,@import是css提供的. 2.link在页面加载时加载,@import引用的css等到页面被加载完加载. 3.@import只在IE5以上可用,link无兼容问 ...
- HTML+CSS总结/有关于web标准的总结
关于这一话题,我认为我们需要解决的问题有:什么是web标准?定义web标准的目的?遵循web标准的好处? 一.百度百科对web标准的解释: WEB标准不是某一个标准,而是一系列标准的集合. 网页的主要 ...
- Linux 命令 - free: 显示系统的内存信息
命令格式 free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V] 命令参数 -b 显示内存的单位为 Byte. -k 显示内存的单位为 KB. -m 显 ...