我有一个数据表,想要检索倒数第二个记录。
这是怎么做到的?
TABLE: results
-------
30
31
35
我需要31岁。
我一直在尝试rownum,但它似乎不起作用。
答案 0 :(得分:4)
假设你想要第二高的数字且没有关系
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都归还。
答案 1 :(得分:0)
select Total_amount from (select Total_amount, rank() over (order by Total_amount desc) Rank from tbl_booking)tbl_booking where Rank=3