三个方法:
用 ROWNUM 伪列:
SELECT * FROM
(SELECT * FROM (SELECT your_columns FROM your_subquery)
WHERE ROWNUM <= N)
WHERE ROWNUM = N;
用 RANK() 或 DENSE_RANK() 函数:
SELECT * FROM
(SELECT your_columns, RANK() OVER (ORDER BY some_column DESC) AS rnk
FROM your_subquery)
WHERE rnk = 1;
用分析函数LAST_VALUE:
SELECT LAST_VALUE(your_columns) OVER (ORDER BY some_column)
FROM your_subquery;