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;
但是查出的数据为空。

你第二层与第三层的条件冲突了。一个rn>5 一个rn<=5所以当然是没数据, 需要在第二个SELECT * FROM 里面重新加入ROWNUM 排序之后。再去第三层里面判断
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答