我们经常会查询一些间断的数据,好比喻查询成绩,一般都会列出前十名和后十名,这个时候我们就可以用到伪列rownum,它可以根据条件查询到排行前面或者后面的数据。

举一个例子:查询员工表中,根据姓名排行前面十名员工的信息。

select *

from (select * from employees order by first_name)

where rownum<=10

oracle-Rownum伪列

但是对于rownum只能使用<或<=,而使用=,>,>=都将不能返回任何数据

例如:查询员工表中,根据姓名排行排十一到二十的员工的员工信息。

select *

from (select * from employees order by first_name)

where rownum>10 and rownum<=20

oracle-Rownum伪列

正确的写法如下:

select *

from (select rownum rn,employee_id,salary,first_name

           from (select employee_id,salary,first_name

                      from employees order by first_name))

where rn>10 and rn<=20

oracle-Rownum伪列

相关文章:

  • 2022-12-23
  • 2021-12-12
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2021-06-26
  • 2021-09-26
  • 2021-11-30
猜你喜欢
  • 2022-12-23
  • 2021-05-30
  • 2022-03-02
  • 2021-06-19
  • 2022-12-23
  • 2021-09-04
  • 2022-02-10
相关资源
相似解决方案