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

Nilai tertinggi kedua dari tabel Oracle DB

Saya akan menggunakan fungsi jendela:

select *
from (
  select u.*, dense_rank() over (order by balance desc) as rnk
  from users u
) t
where rnk = 2;

Saya tidak berpikir akan ada perbedaan kinerja yang besar untuk kueri Anda (terutama tidak dengan indeks pada balance ) tetapi menurut saya lebih mudah untuk dibaca dan dipelihara.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Karena data Nilai Null tidak mencerminkan

  2. Cara lebih cepat untuk Menyisipkan, melalui skrip, di Oracle?

  3. Fungsi Bernilai Tabel di ORACLE 11g? ( tampilan parameter )

  4. Mendeteksi Apakah Nilai Berisi Setidaknya Satu Digit Numerik di Oracle

  5. Pemetaan Entitas Terpisah menghasilkan hasil yang tidak terduga dengan database oracle