精华内容
下载资源
问答
  • 主要介绍了PHP实现的oracle分页函数,结合实例形式分析了PHP针对oracle数据库使用rownum代替MySQL中limit实现的分页操作相关技巧,需要的朋友可以参考下
  • oracle 分页函数

    2016-07-30 09:15:45
    select row_.* from (select t.*,row_number() over (order by t.id) as num from t_person_info t left join t_person_info d on t.id = d.id) row_ where num 400 SELECT * FROM (SELECT ROWNUM AS rown....
    select row_.* from (select t.*,row_number() over (order by t.id) as num from t_person_info t 
    
    left join t_person_info d on t.id = d.id) row_ where num<= 500 and num> 400


    SELECT * FROM (SELECT ROWNUM AS rowno, t.*
    FROM t_person_info t
    WHERE rownum <=500) table_alias
    WHERE table_alias.rowno >= 400
    展开全文
  • Oracle 分页函数总结

    2012-02-27 12:32:48
    2.按分析函数来分 select *  from (select t.*, row_number() over(order by cid desc) rk from t_xiaoxi t)  where rk  and rk > 9980; 执行时间1.01秒 3.按ROWNUM来分 select *  from ...

    1.根据ROWID来分

    select *
      from t_xiaoxi
     where rowid in
           (select rid
              from (select rownum rn, rid
                      from (select rowid rid, cid from t_xiaoxi order by cid desc)
                     where rownum < 10000)
             where rn > 9980)
     order by cid desc;  
    执行时间0.03秒

    2.按分析函数来分
    select *
      from (select t.*, row_number() over(order by cid desc) rk from t_xiaoxi t)
     where rk < 10000
       and rk > 9980;
    执行时间1.01秒

    3.按ROWNUM来分
    select *
      from (select t.*, rownum rn
              from (select * from t_xiaoxi order by cid desc) t
             where rownum < 10000)
     where rn > 9980; 
    执行时间0.1秒


    其中t_xiaoxi为表名称,cid为表的关键字段,取按CID降序排序后的第9981-9999条记录,t_xiaoxi表有70000多条记录
    个人感觉1的效率最好,3次之,2最差  
    展开全文
  • create or replace package body Get_RecordByPage is StrSQL varchar2(2000)...--分页函数 procedure GetRecordByPage(tblName in varchar2, FLDName in varchar2, PageSize in number, PageIndex in number, ...
    create or replace package body Get_RecordByPage is
    StrSQL varchar2(2000);
    --分页函数
    procedure GetRecordByPage(tblName in varchar2,
    FLDName in varchar2,
    PageSize in number,
    PageIndex in number,
    strWhere in varchar2,
    orderType in varchar2,
    r_cur out myCur) is
    
    pageMax number(10);
    pageMin number(10);
    
    begin
    pageMin := (PageIndex - 1) * PageSize;
    pageMax := PageIndex * PageSize;
    
    StrSQL := 'select * from (select a.*,rownum recordRownum from';
    StrSQL := StrSQL || '(select * from ' || tblName;
    if (length(strWhere) > 0) then
    begin
    StrSQL := StrSQL || ' where ' || strWhere;
    -- StrSQL := StrSQL || ' where :strwhere';
    end;
    end if;
    StrSQL := StrSQL || ' order by ' || FLDName || ' ' || orderType;
    StrSQL := StrSQL || ') a ) b';
    StrSQL := StrSQL || ' where recordRownum<=' || pageMax ||' and recordRownum>' || pageMin;
    
    open R_cur for StrSQL ;
    
    end GetRecordByPage;
    --计算总记录行数
    procedure GetRecordCounts(tblName in varchar2,
    strWhere in varchar2,
    counts out number) is
    
    begin
    
    StrSQL := 'select count(*) from ' || tblName;
    if (length(strWhere) > 0) then
    begin
    StrSQL := StrSQL || ' where ' || strWhere;
    -- StrSQL := StrSQL || ' where :strwhere';
    end;
    end if;
    execute immediate StrSQL
    into counts ;
    end GetRecordCounts;
    end Get_RecordByPage;
    Package bodies

     

    转载于:https://www.cnblogs.com/gotoschool/p/4777679.html

    展开全文
  • 2.按分析函数来分 select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t) where rk<10000 and rk>9980; 执行时间1.01秒 3.按ROWNUM来分 select * from(select t.*,rownum rn from...
    1.根据ROWID来分<!--more-->
    

    select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select rowid rid,cid from
    t_xiaoxi order by cid desc) where rownum<10000) where rn>9980) order by cid desc;

    执行时间0.03秒
    2.按分析函数来分

    select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t) where rk<10000 and rk>9980;

    执行时间1.01秒
    3.按ROWNUM来分

    select * from(select t.*,rownum rn from(select * from t_xiaoxi order by cid desc) t where rownum<10000) where
    rn>9980;

    执行时间0.1秒
    其中t_xiaoxi为表名称,cid为表的关键字段,取按CID降序排序后的第9981-9999条记录,t_xiaoxi表有70000多条记录
    个人感觉1的效率最好,3次之,2最差
    展开全文
  • oracle分页函数rownum

    2021-02-26 14:35:30
    oracle分页例子 oracle中where rownum只能写个大写或者小写。 所以需要包2层。例如mybatis中: select * from ( select b1.*, rownum rn ( select * from t_user where username like '%a%' ) b1 ...
  • oracle动态分页函数

    千次阅读 2011-12-12 20:39:13
    create or replace procedure sp_exec_dynamic_page( ... 功能:实现动态分页 */  var_tablename in VARCHAR2, -- 表名 employees e,departments d  var_tablecolumn in VARCHAR2, -- 查询列 a.employee_id,b
  • 1.常见的分页查询语句:查询21到40条之间的数据: SELECT *FROM ( select UI.*,ROWNUM RN FROM (select * from user_info) A WHERE RN&lt;=40 ) WHERE RN&gt;21其中ROWNUM是oracle中的伪列,会根据返回的...
  • oracle 函数另类用法 (oracle 分页)

    千次阅读 2011-05-26 21:26:00
    /* 用于分页的方法 TABLE_NAME_IN 表名(只支持单表,多表时请用视图封装) SQL_WHERE 条件语句 例如 : where n_xh
  • Oracle聚合函数分页

    2021-09-18 17:01:09
    聚合函数 经常与select 语句的 group by 子句一同使用,所有也成为分组函数 常用聚合函数: avg count max min sum 执行顺序 select 语句执行顺序 from where group by 使用聚合函数对每个小组中的数据进行计算 ...
  • Oracle分页

    2020-06-16 19:25:54
      Oracle的分页是通过rownum实现的。 ...一个oracle分页,至少要包含三层(除非不用order by,暂时可以用2层实现),模板为 select temp2.* from(       &...
  • oracle分页

    2019-10-04 17:24:20
    oracle分页 1、采用ROWNUM关键字(三层嵌套) select * from ( select a.*,ROWNUM num from (select * from t_order) a whereROWNUM<=15) where num>=5; --返回5到15行数据 ...
  • //获取Oracle分页语句 传入参数:strsql:查询所有记录的语句 pageno:当前页 pagesize:一页显示的记录数) public static String getOnePageSql(String strSql, int pageSize, int pageNo) { return new ...
  • oracle分页查询

    万次阅读 2017-09-24 22:41:19
    oracle分页不像mysql和sqlserver那么简单,mysql有limit函数可以实现分页,sqlserver有top关键字可以分页,oracle没有类似函数或关键字,必须借助伪列rownum 总体思路是,从第几行开始查询,要查询多少页,分页...
  • Oracle分页SQL

    千次阅读 2015-01-20 02:19:15
    Oracle 分页功能的实现
  • select add_months(sysdate,2) from dual

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,724
精华内容 12,289
关键字:

oracle分页函数