oracle中先查询出rownum>5的数据,再从结果中查出前五条数据的sql怎么写?

兄弟姐妹们,打扰一下,oracle中先查询出rownum>5的数据,再从结果中查出前五条数据的sql怎么写??

oracle中先查询出rownum>5的数据,再从结果中查出前五条数据的sql怎么写?
我一开始用的是
SELECT * from (select * from(select rownum rn,u.* from tb_user u) a where rn>5 ORDER BY id ASC) WHERE rn<=5;
但是查出的数据为空。
最新回答
萌主系我

2024-09-17 10:09:44

你第二层与第三层的条件冲突了。一个rn>5 一个rn<=5所以当然是没数据, 需要在第二个SELECT * FROM 里面重新加入ROWNUM 排序之后。再去第三层里面判断