sql >> Base de Datos >  >> RDS >> Oracle

Segundo valor más alto de la tabla de Oracle DB

Yo usaría una función de ventana:

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

No creo que haya una gran diferencia de rendimiento en su consulta (especialmente no con un índice en balance ) pero en mi opinión es más fácil de leer y mantener.