oracle分析函数之rank学习记录
来源:互联网 发布:十五亿杀人网络101分钟 编辑:程序博客网 时间:2024/05/02 04:36
1. 构造演示数据
create table students(id number(5),name varchar2(10),chinese number(3),math number(3),english number(3),class varchar2(10));
insert into students(id,name,chinese,math,english,class) values(1,'张一',67,72,88,'一班');insert into students(id,name,chinese,math,english,class) values(2,'张二',62,72,81,'一班');
insert into students(id,name,chinese,math,english,class) values(3,'张三',92,92,86,'一班');
insert into students(id,name,chinese,math,english,class) values(4,'李一',93,78,86,'二班');
insert into students(id,name,chinese,math,english,class) values(5,'李二',78,85,86,'二班');
insert into students(id,name,chinese,math,english,class) values(6,'李三',87,83,89,'二班');
insert into students(id,name,chinese,math,english,class) values(7,'李四',87,83,89,'二班');
insert into students(id,name,chinese,math,english,class) values(8,'张四',92,92,86,'一班');
insert into students(id,name,chinese,math,english,class) values(8,'张五',92,92,86,'一班');
commit;
select * from students;
select name,chinese,trunc(avg(chinese) over()) from students a; --全年级chinese平均分
NAME CHINESETRUNC(AVG(CHINESE)OVER())
张一 67 83
张二 62 83
张三 92 83
李一 93 83
李二 78 83
李三 87 83
李四 87 83
张四 92 83
张五 92 83
select name,chinese,rank() over(order by chinese desc) from students;--按chinese分数排名
NAME CHINESERANK()OVER(ORDERBYCHINESEDESC)
李一 93 1
张四 92 2
张三 92 2
张五 92 2
李四 87 5
李三 87 5
李二 78 7
张一 67 8
张二 62 9
select class,name,chinese,rank() over(partition by class order by chinese desc ) from students ;--分班按chinese分数排名,
CLASS NAME CHINESE RANK()OVER(PARTITIONBYCLASSORD
二班 李一 93 1
二班 李四 87 2
二班 李三 87 2
二班 李二 78 4
一班 张五92 1
一班 张四 92 1
一班 张三 92 1
一班 张一 67 4
一班 张二 62 5
注: 有相同级别并列时,会跳过下一级
select class,name,chinese,dense_rank() over(partition by class order by chinese desc ) from students ;--分班按chinese分数排名
CLASS NAME CHINESE DENSE_RANK()OVER(PARTITIONBYCL
二班 李一 931
二班 李三 872
二班 李四 872
二班 李二 783
一班 张三 921
一班 张四 921
一班 张一 672
一班 张二 623
注: 有相同级别也不会跳过下一级别
- oracle分析函数之rank学习记录
- Oracle分析函数之Rank函数
- Oracle分析函数之排序值rank()
- ORACLE分析函数---RANK()
- oracle 分析函数 RANK()
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle分析函数之Rank()和DENSE_RANK()详解
- Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
- Oracle开发之分析函数(Rank, Dense_rank, row_number)
- Oracle-分析函数之排序值rank()和dense_rank()
- oracle 分析函数之 rank(), dense_rank(), lag(), lead()
- 排名函数(ROW_NUMBER、RANK、DENSE_RANK)及OVER子句 Oracle 中分析函数用法之--rank(),dense_rank(),partition,over()
- 你正在做的这11件事会缩短你的寿命
- ajax应用
- STM32的串口采用DMA方式发送数据测试
- 危险代码:内存中的Java类和对象为何变得不安全—Part1
- ios drawRect
- oracle分析函数之rank学习记录
- thinking in asp 之四 蝴蝶的翅膀和产品风暴
- 【打发时间之US脚本】读书笔记2
- c++编译器名字查找之ADL(argument-depentment lookup)规则
- Intellij Idea 13 外观配置
- 自动打包各种渠道的shell(IOS)
- Leetcode Best Time to Buy and Sell Stock
- VC6.0中友元函数无法访问类私有成员的解决办法
- android webservice 上传下载图片