我有一个数据表,想要检索倒数第二个记录。
这是怎么做到的?
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