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

SQL Query Dengan Row_Number, pesan berdasarkan dan di mana klausa

rownum adalah kolom semu yang menghitung baris dalam kumpulan hasil setelah di mana klausa telah diterapkan.

Apakah ini yang Anda coba dapatkan?

SELECT *
FROM ( 
    SELECT id, column1, column2
    FROM atable ORDER BY 2 DESC
) 
WHERE ROWNUM < 100;

Karena ini adalah kolom semu yang benar-benar merupakan penghitung baris yang dihasilkan dari klausa where, kolom ini tidak mengizinkan Anda melakukan penomoran halaman (yaitu antara 200 &300).

Ini mungkin yang Anda cari:

SELECT *
FROM
 (SELECT a.*, rownum rnum FROM
     (SELECT id, column1, column2 FROM atable ORDER BY 2 DESC) a WHERE rownum <= 300)
WHERE rnum >= 200;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke database Oracle menggunakan JDBC jika kata sandi memiliki karakter khusus

  2. Operator Oracle INTERSECT Dijelaskan

  3. menggabungkan pembaruan oracle tidak bisa mendapatkan set baris yang stabil

  4. Menggunakan variabel ikat di SQL Plus dengan lebih dari satu baris yang dikembalikan?

  5. Memanggil prosedur tersimpan Oracle dengan parameter keluaran dari SQL Server