Oracle数据库,第N大数据取值

没想到力扣还有数据库的练习,正好本菜鸡跑过来练手

要显示第二大的数据可以使用order by进行排序,然后用limit对显示的数据进行限制,limit1,1,以此来限制显示内容

这个在mysql可以用的

但是在Oracle中,limit是不能用的

所以需要使用rownum这个虚列作为行号来用

如取出来第二大数据的方式可以用下面的操作实现

select nvl(

  (select l.salary from (select t.salary,rownum req 

from (select distinct salary from employee order by salary desc) t) l

where l.req > 1 and l.req < 3)

  ,NULL) as SecondHighestSalary from dual

使用rownum的时候有几个注意的地方

首先使用rownum一般来说都是小于号<相伴的,使用>的情况可能会一条数据都查不到,然后导致问题的发生

但是将其作为子查询来使用的话就不会有这种情况发生

那么通过函数即可实现取第N大数据的情况

CREATE FUNCTION getNthHighestSalary(N IN NUMBER) RETURN NUMBER IS
result number;
BEGIN select nvl(ll.salary,NULL)
into result
from (select l.salary
from (select t.salary,rownum req
from (select distinct salary
from employee
order by salary desc) t) l
where l.req = N) ll; RETURN result;
END;

同样的,通过子查询的方式就可以层层获取了

【Oracle】Oracle数据库,第N大数据取值的更多相关文章

  1. MySQL数据库如何解决大数据量存储问题

    利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开 ...

  2. jmeter 参数化大数据取唯一值方式

    jmeter 参数化大数据取唯一值方式 一.用时间函数: 因为时间戳永远没有重复,jmeter参数化,而且要取唯一值,可以考虑用时间函数加上其他函数一起: # 以13位的时间戳作为 userID no ...

  3. 利用MySQL数据库如何解决大数据量存储问题?

    提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条 ...

  4. LoadRunner参数化之数据取值和更新方式

    其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式  Select next row 如何从数据列表中取值 Seq ...

  5. jmeter 导入csv数据中json格式数据取值不完整

    1.jmeter中添加csv数据文件时,数据是json格式 2.jmeter中执行取值发现只取了一部分 分析原因,json格式数据,中间有逗号,而csv是根据逗号来分割的,这回导致我们取值错位. 解决 ...

  6. Python数据科学手册-Pandas:数据取值与选择

    Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...

  7. java零碎知识(每种数据类型默认值,多大,取值范围)

    只要记下字节就好了 其它不必死记,取值范围:没有正负的,2的 字节数*8次方-1  , 凡是有正负的2的 (字节数*8)-1次方 -1 比如: 1.byte(有正负):先计算是2的几次方:字节数1*( ...

  8. Oracle 查询id相同多个数据取一条

    涉及场景 需要查出同一ID下 COLUMN_A字段为数值型的 多条数据 只去COLUMN_A为最小值的那条 SELECT * FROM (SELECT A.ID, A.COLUMN_A, ROW_NU ...

  9. Oracle根据连续性日期的重复数据取最大或最小值日期

    原始数据: 结果数据: 对比两个图,要是不处理连续性中的重复值,我们直接可以用LEAD函数了事,但处理出来的结果貌似多余. 我的思路是先将原始数据中连续性日期有重复值的处理好,即选择最小的一个,比如2 ...

  10. oracle删除数据库中的所有数据的拼接语句

    create or replace function count_rows/**查询各表实际记录数*/(table_name in varchar2,owner in varchar2 default ...

随机推荐

  1. 单词本z develop vel = 到上面 从下面到上面的一种过程 抽象是相对从无到有

    单词本z develop vel = 到上面 从下面到上面的一种过程 抽象是相对从无到有 develop 发展 开发 de = down 下面 velop 这里 vel 就是 lev的反写 op = ...

  2. The History of the English language 英语语音的起源 - 英语的历史 - 古英语 印欧语 希腊语 拉丁语

    印欧语 希腊语 拉丁语 日耳曼语 都是什么年代的语言 https://time.graphics/line/776755 印欧语是指印欧语系,它最初被认为在公元前2500年左右分散流传于欧洲.亚洲和印 ...

  3. SQL注入详细讲解概括—宽字节注入

    SQL注入详细讲解概括-宽字节注入 1.宽字节注入原理 2.宽字节注入方法 一.宽字节注入原理 What is 宽字节? 字符大小为一个字节时为窄字节 字符大小为两个及以上的字节为宽字节 英文26个字 ...

  4. day07-Java方法01

    Java方法01 1.什么是方法? Java是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包含于类或者对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法 ...

  5. vite+vue3 打包后页面空白现象

    使用vite打包之后运行index.html空白,打开控制台发现报错: 解决方法: 在vite.config中加入: publicPath: './', 这是vite.config中的结构:   ex ...

  6. FreeRTOS教程6 互斥量

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...

  7. 灰狼优化算法(MOGWO)

    灰狼优化算法(MOGWO) 摘要 固定大小的外部档案用来保存帕累托优化解 在多目标搜索空间中,这个档案被用来定义狼群社会等级和捕猎行为 这个算法在10个多目标测试集进行测试,并与MOEA/D和MOPS ...

  8. Error in beforeDestroy hook: “Error: [ElementForm]unpected width “found in

    吹水,可忽略 当我尝试吧el-form中labelWidth设为auto时,刷新页面获取到了上面的错误 百思不得其解,我貌似没有在beforeDestroy进行操作,为何会报这个错误 果断各种百度,G ...

  9. Could not create connection to database server.Attempted reconnect 3 times .Giving up 解决

    错误信息 Could not create connection to database server.Attempted reconnect 3 times .Giving up. message ...

  10. 什么是GRAY色彩空间

    GRAY色彩空间通常指的是灰度图像,灰度图像是一种每个像素都是从黑到白,被处理为256个灰度级别的单色图像.这256个灰度级别分别用区间[0,255]中的数值表示,其中,"0"表示 ...