数据库
首页 > 数据库> > 【Oracle】Oracle数据库,第二大数据取值

【Oracle】Oracle数据库,第二大数据取值

作者:互联网

Oracle数据库笔记,第二大数据取值

要显示第二大的数据可以使用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一般来说都是小于号<相伴的,使用>的情况可能会一条数据都查不到,然后导致问题的发生

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

标签:salary,数据,数据库,req,Oracle,rownum,取值,select
来源: https://www.cnblogs.com/jokingremarks/p/16286174.html