Oracle——分析函数

news2024/11/16 16:47:57

文章目录

  • 前言
  • 介绍
  • demo案例测试
    • 测试前的准备
    • rank()
    • dense_rank()
    • row_number()

前言

分析函数在oracle中比较常见,但用的不多,今天有幸碰见,索性做一次使用的总结说明。

介绍

oracle中的分析函数,常见的有下面的三种:

  • rank() 当排序的数据值是一样的时候,排序相同,但需要跳跃。
    什么叫排序跳跃?
    如下所示:
    在这里插入图片描述

    当出现排名一样的时候,排名是一样的,但是如果出现间隔,则排序会出现不一致的现象。

  • dense_rank() 排序的数据值是一样的时候,排序相同,序号连续。
    如何理解上面所说的序号连续?
    在这里插入图片描述

  • row_number() 排序好的数据值一样的时候,排序不同,类似 rownum。
    在这里插入图片描述

demo案例测试

测试前的准备

创建表并新增测试数据:

create table XJ_TEST_LTOH
(
  stuid      VARCHAR2(20),
  stuname    VARCHAR2(40),
  coursename VARCHAR2(40),
  score      INTEGER
)
insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201001', '张三', '数学', 40);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201001', '张三', '语文', 50);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201001', '张三', '理综', 120);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201011', '李四', '数学', 40);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201011', '李四', '语文', 45);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201011', '李四', '理综', 120);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201031', '王五', '数学', 54);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201031', '王五', '语文', 50);

insert into xj_test_ltoh (STUID, STUNAME, COURSENAME, SCORE)
values ('sc202201031', '王五', '理综', 100);

执行后,表中的数据如下所示:
在这里插入图片描述

rank()

值相同,排名相同,序号跳跃

select rank() over(order by score desc) nums ,t.score from xj_test_ltoh t

在这里插入图片描述

dense_rank()

值相同,排名相同,排名序号连续

select dense_rank() over(order by score desc) nums ,t.score from xj_test_ltoh t

在这里插入图片描述

row_number()

序号连续,即使值相同。

select row_number() over(order by score desc) nums ,t.score from xj_test_ltoh t

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192788.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四季度亏损扩大,Meta Reality Labs近4年财报营收汇总

2月2日青亭网报道,Meta今天发布了2022财年第四季度财报、全年财报。根据22年四季度财报信息显示,Reality Labs业务部门营收营收7.27亿美元,同比(21年四季度8.77亿美元)要下降17.1%;净亏损42.79亿美元&#…

R语言多元数据统计分析在生态环境中的应用

生态环境领域研究中常常面对众多的不同类型的数据或变量,当要同时分析多个因变量(y)时需要用到多元统计分析(multivariate statistical analysis)。多元统计分析内容丰富,应用广泛,是非常重要和…

关于java中的BigInteger

文章目录关于BigInteger类BigInteger的构造方法BigInteger方法使用示例算术运算API转换为基本数据类型的方法小结关于BigInteger类 BigInteger类是用于解决整型类型(含基本数据类型及对应的包装类)无法表示特别大的数组及运算问题。 即使是占用字节数最…

HTB_Weak RSA

文章目录信息收集RSA 算法题目解密信息收集 下载,解压 (密码都是hackthebox) enc后缀的文件是一种加密文件,打开为乱码,key.pub内容如下,是 RSA 加密算法的公钥 -----BEGIN PUBLIC KEY----- MIIBHzANBgkqhkiG9w0BAQEFAAOCAQwAMI…

CISP信息安全认证考试都考什么?

CISP考试是目前热门的信息安全认证考试,很多刚刚开始了解CISP的朋友,比较关心关于CISP考试内容的相关问题,今天就由中培小编带大家一起去看看CISP认证考试究竟都考哪些内容?首先来看一下试卷结构考试时间:120分钟考试题…

CSS图标与链接

目录 如何添加图标 Font Awesome 图标 实例 Bootstrap 图标 实例 Google 图标 实例 为图标添加样式或颜色 设置链接样式 实例 实例 文本装饰 实例 背景色 实例 链接按钮 实例 更多实例 如何添加图标 向 HTML 页面添加图标的最简单方法是使用图标库&#xff0…

【Less】全局样式重复注入问题

// package.json {"less": "^4.1.3","vite": "^3.1.0", }参考: [less/sass]如何避免因公共模块导致生成重复css代码解决 Vue CSS 样式重复载入,为 Vue 添加全局 less 或 sass 基础样式库【不是本篇解决方法&am…

vue3学习笔记之router(router4 + ts)

文章目录Vue Router1. 基本使用router-view2. 路由跳转2.1 router-link2.2 编程式导航2.3 replace3. 路由传参4. 嵌套路由5. 命令视图6. 重定向和别名6.1 重定向6.2 别名7. 路由守卫7.1 全局前置守卫7.2 全局后置守卫案例:加载滚动条8. 路由元信息9. 路由过渡动效10…

瞧不上alert 老古董?使用alert实现一个精美的弹窗

曾几何时alert陪伴了我很多歌日日夜夜,但现在人们越来越追求高端的技术,其实慢慢的我也都快淡忘了前端的世界里还有alert这么一个伟大的成员。 目录 一、为什么抛弃了alert? 1. 不同浏览器的表现 2. 第三方组件的使用 3. 代码意识的控制 二、用al…

2023年浏览器哪个好用速度快,看这一篇就够了

在网络覆盖的社会,不管走到哪里,都能上网浏览新闻、看热点资讯。浏览器是用户上网浏览的必要软件之一,它决定这用户浏览网页的速度和习惯。那么,2023年什么浏览器好用稳定速度快?目前优秀的浏览器有很多,但…

HDFS常用命令汇总

HDFS常用命令汇总一、前言信息二、帮助信息查看1、查看帮助信息2、帮助文档(附带命令的详细说明)三、常用命令1、创建目录2、查看目录下的内容3、上传文件4、上传并删除源文件5、查看文件内容6、查看文件开头内容7、查看文件末尾内容8、下载文件9、合并下…

ceph中报错“ clock skew detected on mon.ceph2, mon.ceph3”

自己搭建的ceph集群,显示时间不同步:clock skew detected on mon.ceph2, mon.ceph3但是查看chrony进程已经启动,ceph配置文件中,如下参数也已经配置,查看chrony.conf配置文件发现,同步源没有修改过,默认的于是修改ceph…

面试官的几句话,差点让我挂在HTTPS上

面试官的几句话,差点让我挂在HTTPS上 目录:导读 一、HTTP 协议 二、HTTPS 协议 三、使用 HTTP 协议还是 HTTPS 协议呢? 四、HTTP 协议和 HTTPS 协议的区别 作为软件测试,大家都知道一些常用的网络协议是我们必须要了解和掌握…

MySQL jdbc 反序列化分析

0x01 前言听师傅们说这条链子用的比较广泛,所以最近学一学,本来是想配合着 tabby 或是 codeql 一起看的,但是 tabby 的环境搭建一直有问题,耽误了很久时间,所以就直接看了0x02 JDBC 的基础• 本来不太想写这点基础的&a…

敏捷与DevOps的区别,知异同,发准力

​图片来自Robert Martin《敏捷整洁之道》。敏捷DevOps生命之环,由内到外,第一圈:Kent Beck,第二圈:Uncle Bob,第三圈:Mike Cohn。三圈由内到外分别是:编程、工程(大致对…

STM32读取24位模数转换(24bit ADC)芯片TM7711数据

STM32读取24位模数转换(24bit ADC)芯片TM7711数据 TM7711是一款国产低成本24位ADC芯片,常用于与称重传感器配合实现体重计的应用。这里介绍STM32读取TM7711的电路和代码实现。TM7711与HX710A是兼容的芯片,而与HX711在功能上有所不…

B+树的概念

与分块查找和B树类似。 一棵m阶的B树需满足如下条件: 每个分支结点最多有m棵子树非叶子结点的根结点至少有两棵子树,其他结点至少有⌈m/2⌉\lceil m/2\rceil⌈m/2⌉棵子树结点的子树个数与关键字个数相等关键字全部存储在叶子结点中。所有指向对应记录的指针也存储…

LeetCode刷题---链表经典问题(双指针)

文章目录一、编程题:206. 反转链表(双指针-头插法)解题思路1.思路2.复杂度分析:3.算法图解代码实现二、编程题:203. 移除链表元素解题思路1.思路2.复杂度分析:3.算法图解代码实现三、编程题:328…

嵌入式开发:为什么物联网正在吞噬嵌入式操作系统?

在过去几年的嵌入式开发中,独立嵌入式软件市场的两大基石已被物联网公司完全吞噬。第一个FreeRTOS被亚马逊吞并,以支持其亚马逊Web服务(AWS)云平台的物联网开发,Express Logic被微软吞并,用于其竞争对手Azure云服务。许多分析师对…

【图像处理OpenCV(C++版)】——4.4 对比度增强之伽马变换

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…