一、使用rownum 分页未进行排序操作

select * from (select rownum rn,t.* from test_packet t)

where rn between 1 and 10


执行结果如下

oracle 使用rownum分页及注意事项_注意


二、如果上面sql加上排序

oracle 使用rownum分页及注意事项_事项_02


执行结果如下

oracle 使用rownum分页及注意事项_oracle_03

这样的结果是错误,rownum 也被打乱


应该把上面语语句改为

oracle 使用rownum分页及注意事项_注意_04


执行结果如下,得到这样的结果才是正确的

oracle 使用rownum分页及注意事项_oracle_05

因此,如果使用rownum进行分页,要进行排序操作,则先排序,再使用rownum进行分页操作