ORACLE 根据分组排序产生序列号
对应的语法是这样的
select row_number() over(partition by col1 order by col2) seq
具体的场景如下:
如果一张表中保存了整个年级的各个班级每个同学的语文成绩
create table Score
(
class varchar2(10),
student varchar2(20),
score int
);
insert into Score values('一班','张三',94);
insert into Score values('一班','李四',84);
insert into Score values('一班','王五',96);
insert into Score values('二班','MARY',76);
insert into Score values('二班','BLUE',84);
insert into Score values('二班','LANCEER',62);
那么我们如果想要这样的效果
序号 班级 学生 分数
1 一班 王五 96
2 一班 张三 94
3 一班 李四 84
1 二班 BLUE 84
2 二班 MARY 76
3 二班 LANCEER 62
那么就是需要用到了组内排序产生序号的功能
select
row_number() over(partition by class order by score desc) seq,
class,student score
from Score
如果我们想获取每个班级的第一名的学生的成绩,只要在外层再套一层seq的过滤,过滤seq=1的记录即可
select *
from
(
select
row_number() over(partition by class order by score desc) seq,
class,student score
from Score
where seq = 1
https://www.cnblogs.com/linJie1930906722/p/6036053.html
ORACLE 根据分组排序产生序列号相关推荐
- oracle分类函数总结,oracle中分组排序函数用法
项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...
- oracle 条件排序函数,oracle中分组排序函数
项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...
- oracle中按数字大小排序函数,oracle中分组排序函数用法
项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如: 1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的 ...
- oracle求和分组排序,oracle中分组排序函数用法 - 转
项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...
- oracle的分组排序函数(窗口函数)
第一种写法: row_number() over(partition by 一个或多个分组列 order by 一个或多个排序列 asc/desc) as 别名 //如果不写asc/desc的话,默认 ...
- Oracle数据库分组排序
select row_number() over(partition by oea03 order by oea02 desc) num,oea01,oea02,oea03 from oea_file ...
- MySQL 如何实现 Oracle 的 row_number() over() 分组排序功能
文章目录 Oracle 的分组排序 MySQL 的分组排序 分析需求 创建模拟数据 SQL 实现 结果演示 Oracle 的分组排序 Oracle 的分组排序函数的语法格式如下: ROW_NUMBER ...
- oracle 分组排序 update,oracle分组排序
oracle 分组排序: 这个麻烦: SELECT * FROM ( SELECT deptno,ename,sal,ROW_NUMBER() OVER (PARTITION BY deptno OR ...
- oracle分组排序
oracle 分组排序: 这个麻烦: SELECT * FROM ( SELECT deptno, ename, sal, ROW_NUMBER() OVER (PARTITION B ...
最新文章
- 7号团队:团队任务3-每日任务(2018-11-26)
- 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
- Android以当前Activity为基准进行截屏
- 1.3.2 专业术语(系列机、兼容、软件可移植性、固件)
- Notice: Undefined variable: id in D:\phpStudy18\PHPTutorial\WWW\sqli-labs-master\Less-32\index.php o
- java切面1.6需要的包_Java技术 AspectJ
- 以Jar形式为Web项目提供资源文件(JS、CSS与图片)
- 试驾小程序_Linux如何成为Linux:试驾1993-2003发行版
- java dozer map转对象_对象转换利器之Dozer
- 冷饭新炒:理解JDK中UUID的底层实现
- C++中数组、链表list、容器map/vector的区别
- 94. autoload(2)
- tp5 mysql异常捕获_tp5 ThinkPhp5 自定义异常处理类
- 尚硅谷kylin单机版之安装Hadoop3.1.3
- 微信扫码下载app的前端界面代码
- 行业集中度数据(2000-2020年 )
- 计算机专业买电脑买那种好,windows7好还是windows10好_电脑系统7和10哪个好用
- 我的世界服务器商店系统指令,我的世界自动商店指令 | 手游网游页游攻略大全...
- ROS发布/订阅Float64MultiArray数组类消息(C++和Python相互发布和订阅)
- PHP上传图片到服务器
热门文章
- linux bin目录下存放的什么,Linux_Linux根目录下主要目录功能说明,/bin:存放最常用命令; /b - phpStudy...
- Qlist+QMap+QVariant使用
- SQL Server建库建表命令
- 子网掩码是干什么用的?
- 聊聊强AI——来到治愈系空间的小茶末
- camunda 流程执行追踪_Camunda流程调用梳理
- java jpeg rpg_史上最骚RPG制作第三期 java端数据的插入和查询
- 计算机一级期末考试题,2016年计算机一级考试题库(含答案)
- unreal engine 4 如何创建地形、地表贴图。
- winUSB设备的开发方法