oracle做分页查询怎么做

oracle做分页查询怎么做,第1张

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应该怎么写啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9748165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存