orcale rownum 分页查询的数据顺路混乱

发布网友 发布时间:2022-04-20 14:02

我来回答

2个回答

热心网友 时间:2022-04-09 09:14

给你一个例子(至少应该是两层查询,注意里面一层用<=,外面一层用 >=):

SELECT *
FROM (SELECT ROWNUM AS rowno, t.*
FROM emp t
WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
AND ROWNUM <= 20) table_alias
WHERE table_alias.rowno >= 10;追问我想知道,为什么这两个查询的结果会不一样。原因。

追答ruwnum 是什么 ?

是返回数据的结果集中,数据的行号?这么说应该没有问题吧。

你没有排序,谁能保证,你每次查询的 的 结果集中 的数据 顺序 收一致。

总之,你就不能那样用。

热心网友 时间:2022-04-09 10:32

Oracle中的rownum的是在取数据的时候产生的序号。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com