Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottenere la seconda o la terza voce più grande da una tabella

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


Se prevedi che più di una riga abbia lo stesso valore in your_sort_column puoi anche usare la funzione 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
Questo potrebbe restituire più di una riga ..