How to get second largest or third largest entry from a table

前端 未结 12 2490
说谎
说谎 2020-12-01 08:42

Can anyone please tell me how to find out the N th largest entry from a table in Oracle?

Like for largest we can use MAX(column_name) i

12条回答
  •  时光取名叫无心
    2020-12-01 09:17

    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
    


    If you expect more than one row to have the same value in your_sort_column you can also use the rank() function

    SELECT *
    FROM (
      SELECT some_column, 
             rank() over (order by your_sort_column desc) as row_rank
      FROM some_table
    ) t
    WHERE row_rank = 3
    
    This migh return more than one row..

提交回复
热议问题