Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Memilih baris kedua dari tabel menggunakan rownum

Untuk menjelaskan perilaku ini, kita perlu memahami bagaimana Oracle memprosesROWNUM. Saat menetapkan ROWNUM ke sebuah baris, Oracle mulai dari 1 dan hanya menambah nilai ketika sebuah baris dipilih; yaitu, ketika semua kondisi dalam klausa WHERE terpenuhi. Karena kondisi kami mengharuskan ROWNUM lebih besar dari 2, tidak ada baris yang dipilih dan ROWNUM tidak pernah bertambah melebihi 1.

Intinya adalah kondisi seperti berikut ini akan berfungsi seperti yang diharapkan.

.. WHERE rownum =1;

.. WHERE rownum <=10;

Sementara kueri dengan kondisi ini akan selalu mengembalikan nol baris.

.. WHERE rownum =2;

.. WHERE rownum> 10;

Dikutip dari Memahami Oracle rownum

Anda harus mengubah kueri Anda dengan cara ini agar berfungsi:

select empno
from
    (
    select empno, rownum as rn 
    from (
          select empno
          from emp
          order by sal desc
          )
    )
where rn=2;

EDIT :Saya telah mengoreksi kueri untuk mendapatkan rownum setelah pesanan melalui sal desc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pisahkan fungsi di oracle ke nilai yang dipisahkan koma dengan urutan otomatis

  2. 4 Cara Memformat Angka Tanpa Desimal di Oracle

  3. Mengonfigurasi Replikasi Basis Data Heterogen – SQL Server ke Oracle

  4. Bagaimana saya bisa terhubung ke server Oracle Database 11g melalui rantai terowongan ssh (terowongan ganda, server di jaringan perusahaan)?

  5. ORACLE SQL:Dapatkan semua bilangan bulat di antara dua angka