我有一张数据表,想检索倒数第二条记录。
这是怎么做到的?
TABLE: results
-------
30
31
35
我需要得到31。
我一直在尝试使用rownum,但它似乎不起作用。
假设您想要第二高的数字并且没有平局
SELECT results
FROM (SELECT results,
rank() over (order by results desc) rnk
FROM your_table_name)
WHERE rnk = 2
根据您想要处理关系的方式,您可能需要rank
、dense_rank
或row_number
分析函数。例如,如果有两个 35,您是否希望返回 35?还是31?如果有两个 31,您希望返回单行吗?或者你想要两个 31 的返回。
select Total_amount from (select Total_amount, rank() over (order by Total_amount desc) Rank from tbl_booking)tbl_booking where Rank=3