对应的语法是这样的

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 根据分组排序产生序列号相关推荐

  1. oracle分类函数总结,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  2. oracle 条件排序函数,oracle中分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  3. oracle中按数字大小排序函数,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如: 1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的 ...

  4. oracle求和分组排序,oracle中分组排序函数用法 - 转

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  5. oracle的分组排序函数(窗口函数)

    第一种写法: row_number() over(partition by 一个或多个分组列 order by 一个或多个排序列 asc/desc) as 别名 //如果不写asc/desc的话,默认 ...

  6. Oracle数据库分组排序

    select row_number() over(partition by oea03 order by oea02 desc) num,oea01,oea02,oea03 from oea_file ...

  7. MySQL 如何实现 Oracle 的 row_number() over() 分组排序功能

    文章目录 Oracle 的分组排序 MySQL 的分组排序 分析需求 创建模拟数据 SQL 实现 结果演示 Oracle 的分组排序 Oracle 的分组排序函数的语法格式如下: ROW_NUMBER ...

  8. oracle 分组排序 update,oracle分组排序

    oracle 分组排序: 这个麻烦: SELECT * FROM ( SELECT deptno,ename,sal,ROW_NUMBER() OVER (PARTITION BY deptno OR ...

  9. oracle分组排序

    oracle 分组排序: 这个麻烦: SELECT * FROM (      SELECT deptno, ename, sal, ROW_NUMBER()    OVER (PARTITION B ...

最新文章

  1. 7号团队:团队任务3-每日任务(2018-11-26)
  2. 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
  3. Android以当前Activity为基准进行截屏
  4. 1.3.2 专业术语(系列机、兼容、软件可移植性、固件)
  5. Notice: Undefined variable: id in D:\phpStudy18\PHPTutorial\WWW\sqli-labs-master\Less-32\index.php o
  6. java切面1.6需要的包_Java技术 AspectJ
  7. 以Jar形式为Web项目提供资源文件(JS、CSS与图片)
  8. 试驾小程序_Linux如何成为Linux:试驾1993-2003发行版
  9. java dozer map转对象_对象转换利器之Dozer
  10. 冷饭新炒:理解JDK中UUID的底层实现
  11. C++中数组、链表list、容器map/vector的区别
  12. 94. autoload(2)
  13. tp5 mysql异常捕获_tp5 ThinkPhp5 自定义异常处理类
  14. 尚硅谷kylin单机版之安装Hadoop3.1.3
  15. 微信扫码下载app的前端界面代码
  16. 行业集中度数据(2000-2020年 )
  17. 计算机专业买电脑买那种好,windows7好还是windows10好_电脑系统7和10哪个好用
  18. 我的世界服务器商店系统指令,我的世界自动商店指令 | 手游网游页游攻略大全...
  19. ROS发布/订阅Float64MultiArray数组类消息(C++和Python相互发布和订阅)
  20. PHP上传图片到服务器

热门文章

  1. linux bin目录下存放的什么,Linux_Linux根目录下主要目录功能说明,/bin:存放最常用命令;   /b - phpStudy...
  2. Qlist+QMap+QVariant使用
  3. SQL Server建库建表命令
  4. 子网掩码是干什么用的?
  5. 聊聊强AI——来到治愈系空间的小茶末
  6. camunda 流程执行追踪_Camunda流程调用梳理
  7. java jpeg rpg_史上最骚RPG制作第三期 java端数据的插入和查询
  8. 计算机一级期末考试题,2016年计算机一级考试题库(含答案)
  9. unreal engine 4 如何创建地形、地表贴图。
  10. winUSB设备的开发方法