Oracle 获取最大值,第二大,第三大,第 N 大值

目录

    • 1、原始数据
    • 2、获取最大值记录
    • 3、获取第二大值记录
    • 4、获取第三大值记录

1、原始数据

select * from test_2024_04_15_001 order by 销量 desc,渠道

在这里插入图片描述

2、获取最大值记录

select 渠道,销量
from
(
select a.渠道, a.销量 from test_2024_04_15_001 a 
order by a.销量 desc,a.渠道
)
where rownum =1

在这里插入图片描述

3、获取第二大值记录

select 渠道,销量
from
(
select a.渠道, a.销量 from test_2024_04_15_001 a 
order by a.销量 desc,a.渠道
)
where rownum =2

发现并没有数据返回
在这里插入图片描述因为rownum并不是当作实体数据存放在每一张表中,而是在每一次select查询的时候,根据基表的默认insert顺序由oracle动态分配的,有1才有2,如果rownum没有1,那么2也就没有了意义,所以这个查询就不会有任何结果出来。

此时可以先取出前N大的值,到序排序,再获取第一行数据,及第N大的值

select 渠道,销量
from
(
select 渠道,销量
from
(
select a.渠道, a.销量 from test_2024_04_15_001 a 
order by a.销量 desc,a.渠道
)
where rownum <=2
order by 销量,渠道
)
where rownum =1

在这里插入图片描述

4、获取第三大值记录

select 渠道,销量
from
(
select 渠道,销量
from
(
select a.渠道, a.销量 from test_2024_04_15_001 a 
order by a.销量 desc,a.渠道
)
where rownum <=3
order by 销量,渠道
)
where rownum =1

发现取出的记录和第二大的值记录一样
在这里插入图片描述
通过row_number实现,是正常显示的

select t1.渠道,t1.销量
from
(
select a.渠道, a.销量,row_number() over(order by a.销量 desc,a.渠道) rumfrom test_2024_04_15_001 a 
) t1
where rum =3

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Arcade 加载本地文本

参考 https://api.arcade.academy/en/latest/examples/text_loc_example.html#text-loc-example 代码 """ Example showing how to draw text to the screen.If Python and Arcade are installed, this example can be run from the command line with: pyth…

极大似然估计、最大后验估计、贝叶斯估计

机器学习笔记 第一章 机器学习简介 第二章 感知机 第三章 支持向量机 第四章 朴素贝叶斯分类器 第五章 Logistic回归 第六章 线性回归和岭回归 第七章 多层感知机与反向传播【Python实例】 第八章 主成分分析【PCA降维】 第九章 隐马尔可夫模型 第十章 奇异值分解 第十一章 熵…

【随笔】Git 高级篇 -- 获取远程分支数据 git fetch(二十七)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

代码随想录算法训练营DAY27|C++回溯算法Part.3|39.组合总和、40.组合总和II、组合问题小总结、131.分割回文串

文章目录 39.组合总和思路伪代码实现剪枝优化CPP代码普通版本剪枝版本 40.组合总和II思路伪代码CPP代码不采用used数组的去重方法 组合问题小总结131.分割回文串思路伪代码CPP代码 39.组合总和 力扣题目链接 文章讲解&#xff1a;39.组合总和 视频讲解&#xff1a;Leetcode:39.…

数据结构——顺序表——数组元素和与数字和的绝对差

数据结构——顺序表——数组元素和与数字和的绝对差 class Solution { public:int differenceOfSum(vector<int>& nums) {int a 0;int b 0;for(int i 0; i < nums.size(); i){a a nums[i];while(nums[i]){b b (nums[i] % 10);nums[i] nums[i] / 10;}}retu…

常见的Linux命令

linux操作系统 ctrl鼠标滚动 放大缩小字体 cd /目录进入目录下 ls查看当前目录下的所有内容 tar -zxvf 压缩包名字 对压缩包进行解压 sync将数据由内存同步到硬盘上 shutdown关机指令 shutdown -h 10 /10 表示十分钟后关机 shutdown -h now 表示现在关机 shutdown -h…

OpenCV4.9图像金字塔

目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 pyrUp()和 pyrDown()对给定图像进行下采样或上采样。 理论 注意 下面的解释属于 Bradski 和 Kaehler 的 Learning OpenCV 一书。 通常&#xff0c;我们需要将图像转换为与原始图像不同的大小。为此…

springboot上传模块到私服,再用pom引用下来

有时候要做一个公司的公共服务模块。不能说大家都直接把代码粘贴进去&#xff0c;因为会需要维护很多份&#xff1b;这样就剩下两个方式了。 方式一&#xff1a;自己独立部署一个公共服务的服务&#xff0c;全公司都调用&#xff0c;通过http、rpc或者grpc的方式&#xff0c;这…

用 Python 写 3D 游戏,太赞了!

vizard介绍 Vizard是一款虚拟现实开发平台软件&#xff0c;从开发至今已走过十个年头。它基于C/C&#xff0c;运用新近OpenGL拓展模块开发出的高性能图形引擎。当运用Python语言执行开发时&#xff0c;Vizard同时自动将编写的程式转换为字节码抽象层(LAXMI)&#xff0c;进而运…

msf后门流量分析

前言 分析msf后门的流量主要是分析其数据包的特征&#xff0c;然后msf后门有三种类型。分别是tcp、http、https&#xff0c;这里就说一下这三种类型的数据包的特征&#xff0c;其实也是比较简单的。还有一点&#xff0c;在实验之前记得把病毒防护关了&#xff0c;以防拦截流量…

The 0-1 Knapsack Problem KNAPSACK

Problem Let U {u1, u2, . . . , un} be a set of n items to be packed in a knapsack of size C. For 1 ≤ j ≤ n, let sj and vj be the size and value of the jth item, respectively. Here C and sj, vj , 1 ≤ j ≤ n, are all positive integers. Each item should e…

水库之大坝安全监测系统解决方案

一、系统介绍 水库之大坝安全监测系统主要包括渗流监测系统、流量监测系统、雨量监测系统、沉降监测系统组成。每一个监测系统由监测仪器及自动化数据采集装置&#xff08;内置通信装置、防雷设备&#xff09;、附件&#xff08;电缆、通信线路、电源线路&#xff09;等组成&a…