oracle查询不用order by如何取最后一条数据?-灵析社区

今天吃什么你说吧

如题,本身from后的数据表是用子查询出来的,无法用某种方式进行order by,但是要取查询结果的最后一条应该怎么写?

阅读量:231

点赞量:7

问AI
三个方法: 用 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;