Oracle
 sql >> база данни >  >> RDS >> Oracle

Втора най-висока стойност от таблицата на Oracle DB

Бих използвал прозоречна функция:

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

Не мисля, че ще има голяма разлика в производителността на вашата заявка (особено не с индекс на balance ), но според мен е по-лесно за четене и поддръжка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да вмъкна огромен файл в BLOB (Oracle), без да зареждам целия файл в паметта?

  2. Конкатенирането на числа в израз на виртуална колона хвърля ORA-12899:стойността е твърде голяма за колона

  3. JDBC Thin Oracle 11g

  4. Как може да се подобри тази заявка?

  5. ТИП Промяна на дефиниция в Oracle 21c