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

Cómo obtener la segunda entrada más grande o la tercera más grande de una tabla

SELECT *
FROM (
  SELECT some_column, 
         row_number() over (order by your_sort_column desc) as row_num
  FROM some_table
) t
WHERE row_num = 3


Si espera que más de una fila tenga el mismo valor en your_sort_column también puedes usar la función rank()

SELECT *
FROM (
  SELECT some_column, 
         rank() over (order by your_sort_column desc) as row_rank
  FROM some_table
) t
WHERE row_rank = 3
Esto podría devolver más de una fila.