sql语句如下:
分页1
SELECT
FROM (Select ROWNUM AS ROWNO, T
from 表名 T(别名)
where 表字段 between to_date('20060501', 'yyyymmdd') and to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIASROWNO >= 10;
经过测试,此方法成本最低,只嵌套一层,速度最快,即使查询的数据量再大,也几乎不受影响,速度依然
分页2:
SELECT
FROM (SELECT TT, ROWNUM AS ROWNO
FROM (Select t
from 表名 T(别名)
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT(别名二)
WHERE ROWNUM <= 20) TABLE_ALIAS
where TABLE_ALIASrowno >= 10;
经过测试,此方法随着查询范围的扩大,速度也会越来越慢,
--分页SQL,如第一页:
select userid, username, usernickname, birthday, deptid, imissionflag
from (select userid,
username,
usernickname,
birthday,
deptid,
imissionflag,
row_number() over(order by userid) as rowno
from useinfo) r
where rowno >= 1
and rowno <= 10;
SELECT
FROM (SELECT a, ROWNUM rn
FROM (SELECT FROM zs_family) a
WHERE ROWNUM <= 105)
WHERE rn BETWEEN 1 AND 5;
-- 1 AND 5 采用动态SQL传参就行。下一页就是6到10,直到101到105
SELECT
FROM (SELECT A, ROWNUM RN
FROM (SELECT FROM TABLE_NAME) A WHERE ROWNUM <= 200)
WHERE RN >= 100
把时面的100,200,不写成具体的数据,当成一个参数,传到SQL里,要查哪一页的就传哪一页的参数,或者写一个存储过程来实现。
以上就是关于oracle做分页查询怎么做全部的内容,包括:oracle做分页查询怎么做、oracle数据库的分页查询、oracle数据库里分页sql怎么写啊,要求一页显示5条,一共21页.sql应该怎么写啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)