• 不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句


    在不同数据库中的使用的分页查询语句:

    当前页:currentpage
    页大小:pagesize


    1. Oracle数据库

     select * from (select A.*,rownum rn from ( QUERY_SQL ) A )  where rn <= ((currentpage+1)*pagesize) and rn > (currentpage*pagesize)

    注:QUERY_SQL为查询sql语句。

    select * from (select rownum rn,id from TABLENAME  where rownum <=((currentpage+1)*pagesize) ) A  where A.rn >= (currentpage*pagesize)

    2. Infomix数据库

    select skip currentpage first pagesize * from TABLENAME
     
    3. DB2数据库

     select * from (select 字段1,字段2,字段3,rownumber() over(order by 排序用的列名 asc) as RN from 表名) as A1 where A1.RN between (currentpage*pagesize) and ((currentpage+1)*pagesize) 
     或
     select * from (select rownumber() over(order by id asc ) as rowid from table where rowid <=((currentpage+1)*pagesize) )   where rowid > (currentpage*pagesize)
     
     
    4. SQL Server数据库

     select top pagesize *
      from TABLENAME
     where COLLUMN_NO not in
           (select top currentpage*pagesize COLLUMN_NO from TABLENAME order by COLLUMN_NO)
     order by COLLUMN_NO
     
    5. Sybase数据库

    Sybase 12.5.3版本号支持top查询,或使用set rowcount N查询头N条数据
    另外採用暂时表:
    select rowid=identity(12), column_name into #TEMPTABLE from TABLENAME
    select column_name  from #TEMPTABLE where rowid >(currentpage*pagesize) and rowid < (currentpage*pagesize+pagesize)

    6. MySQL数据库

     SELECT * FROM TABLE1 LIMIT (currentpage*pagesize),pagesize

  • 相关阅读:
    第二阶段冲刺04
    找水王
    第二阶段冲刺03
    第二阶段冲刺02
    第二阶段冲刺01
    学习进度12
    梦断代码阅读笔记07
    第一阶段意见评论
    学习进度11
    求素数p的原根
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4025208.html
Copyright © 2020-2023  润新知