表结构及数据


-- ----------------------------
-- Table structure for GRADE
-- ----------------------------
DROP TABLE "GRADE";
CREATE TABLE "GRADE" ("ID" VARCHAR2(4 BYTE) VISIBLE,"JOB" VARCHAR2(32 BYTE) VISIBLE,"SCORE" VARCHAR2(10 BYTE) VISIBLE,"TO_DATE" DATE VISIBLE
);-- ----------------------------
-- Records of GRADE
-- ----------------------------
INSERT INTO "GRADE" VALUES ('1', 'C++', '11001', TO_DATE('2021-03-05 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('2', 'C++', '11001', TO_DATE('2021-03-09 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('3', 'C++', '9000', TO_DATE('2021-03-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('4', 'Java', '12000', TO_DATE('2021-03-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('5', 'Java', '13000', TO_DATE('2021-03-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('6', 'B', '12000', TO_DATE('2021-02-25 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('7', 'B', '11000', TO_DATE('2021-03-04 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('8', 'B', '9999', TO_DATE('2021-03-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));
INSERT INTO "GRADE" VALUES ('9', 'C++', '6666', TO_DATE('2021-03-06 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'));

1.组内排序  各个科目按照成绩排序,成绩相同按照时间  1,2,3,4,5

应用函数:row_number() over()

row_number() over(partition by 分组字段 order by  排序字段)

2.组内排序  各个科目按照成绩排序,成绩相同排序  下一个跳过   1,2,2,4,5

应用函数:rank() over()

rank() over(partition by 分组字段 order by  排序字段)

2.组内排序  各个科目按照成绩排序,成绩相同排序  下一个连续   1,2,2,3,4,5

应用函数:dense_rank() over()

dense_rank() over(partition by 分组字段 order by  排序字段)

Oracle组内排序常见函数相关推荐

  1. 如何实现Oracle先组内排序然后再组外排序

    问题描述 工作中遇到一个问题,因为我本人的SQL技术太差了,写了好久,都没有处理好,大概的需求如下,有一个列表,根据一个字段排序,排序后的结果,再根据字段排序. 问题分析 为了让读者能够充分理解这个问 ...

  2. MySQL学习笔记:三种组内排序方法

    由于MySQ没有提供像Oracle的dense_rank()或者row_number() over(partition by)等函数,来实现组内排序,想实现这个功能,还是得自己想想办法,最终通过创建行 ...

  3. 组内排序和组外排序的sql写法

    表 id       班级        成绩 1          a              23 2          b              33 3          c       ...

  4. 润乾报表实现组内排序报表及改进

    报表开发中经常会遇到需要进行组内排序的报表,如按月份的分组汇总值排序显示,并显示每月销售额前十名的记录.使用报表工具一般通过隐藏行列辅助可以实现,下面通过实例说明润乾报表的实现过程,以及改进方案. 报 ...

  5. MySQL组内排序取最大值

    最近业务反馈一个查询异常的问题,需要DBA对查询结果异常给出解释,并帮助他们解决该问题.问题本质是一个组内排序取最大值的问题,根据业务需求,我构建了测试用例 测试用例 --建表 create tabl ...

  6. mysql使用group by实现组内排序实战

    一.前言 需求是:获取用户充值总数最多的前100名,并且获取最新充值的时间和充值数量 分析下: (1)首先是要获取用户充值的总数,然后进行排序取前100: (2)要获取用户的最新一次充值时间和金额,那 ...

  7. python数字排序分组代码_python pandas 组内排序、单组排序、标号的实例

    摘要:本文主要是讲解一下,如何进行排序.分为两种情况,不分组进行排序和组内进行排序.什么意思呢?具体来说,我举个栗子. ****注意**** 如果只是单纯想对某一列进行排序,而不进行打序号的话直接使用 ...

  8. MapReduce的自制Writable分组输出及组内排序

    问题描述: 输入文件格式如下: name1    2 name3    4 name1    6 name1    1 name3    3 name1    0 要求输出的文件格式如下: name1 ...

  9. Json数组列表中的数据分组排序、组内排序

    文章目录 问题描述 方式一:先全部排序,在分组排序 方式二:使用HashMap取出来分组再组内排序 方式三:使用TreeMap取出来分组再组内排序 测试代码及耗时 问题描述 现在有一个用户信息数组,用 ...

最新文章

  1. 10、MySQL锁等待,死锁,死锁检测
  2. 成立阿里大农业兄弟连-万祥军:农民丰收节交易会乡村脱贫
  3. 在苏州当老师大概博士毕业,工作稳定后就准备要孩子了
  4. wxWidgets:wxSashWindow类用法
  5. php mysql 安装错误_Apache+php配置 Mysql安装出错解决办法
  6. 《剑指offer》按之字行顺序打印二叉树
  7. python 第13天作业
  8. hadoop-2.6.5安装
  9. 高并发下的系统设计(偏数据库设计)
  10. js判断数组中重复元素并找出_javascript查找数组中重复元素的方法
  11. Java 并发编程的艺术
  12. Chrome使用、插件、脚本
  13. linux防火墙配置怎么修改密码,Linux系统修改防火墙配置
  14. TF-IDF算法简介
  15. imx6ul使用官方SDK裸机及驱动包
  16. 数仓工具—Hive源码之SQL解析Antlr入门(7)
  17. 淘宝鹊桥计算工具安卓版小程序
  18. activiti删除流程
  19. Hadoop之——计算机网络端口的定义
  20. CWnd::SetCapture, ReleaseCapture, GetCapture

热门文章

  1. 毕业设计 基于java web的网上招标系统
  2. 小米8 twrp recovery_twrp官网手机代号合集-彻底了解小米手机代号名称
  3. 点击a标签触发点击事件后下载文件
  4. 视频AI边缘计算技术在安全生产监管中的场景化应用
  5. Word如何对应名单打印奖状
  6. 【每日一题】-金牌榜排序
  7. ecology重装数据库
  8. 礼品网\代发网\礼品网源码\空包网\源码
  9. window操作系统安装多个版本的nodejs——nodejs版本控制工具nvm
  10. Android,获取网速上下行速度