zoukankan      html  css  js  c++  java
  • Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理

    最*把*时在项目中常用到的数据库分页sql总结了下。大家可以贴出分页更高效的sql语句。
    sqlserver分页

    第一种分页方法
    需用到的参数:
    pageSize 每页显示多少条数据
    pageNumber 页数 从客户端传来

    totalRecouds 表中的总记录数 select count (*) from 表名
    totalPages 总页数

    totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1

    pages 计算前pages 条数据
    pages= pageSize*(pageNumber-1)
    SQL语句:

    select top pageSize * from 表名 where id  not in (select top pages id from 表名
    order by id) order by id
    第二种分页方法
    pageSize 每页显示多少条数据
    pageNumber 页数
    从客户端传来
    pages=pageSize*(pageNumber-1)+1
    select top pageSize * from 表名
    where id>=(select max(id) from (select top pages id from 表名 order by id asc )
    t )

    mysql分页
    需用到的参数:
    pageSize 每页显示多少条数据
    pageNumber 页数 从客户端传来

    totalRecouds 表中的总记录数 select count (*) from 表名
    totalPages 总页数

    totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1

    pages 起始位置
    pages= pageSize*(pageNumber-1)
    SQL语句:
    select *
    from 表名 limit pages, pageSize;
    mysql 分页依赖于关键字 limit 它需两个参数:起始位置和pageSize

    起始位置=页大小*(页数-1)
    起始位置=pageSize*(pageNumber -1)


    oracle分页
    pageSize 每页显示多少条数据
    pageNumber 页数 从客户端传来
    totalRecouds
    表中的总记录数 select count (*) from 表名
    totalPages 总页数

    totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1

    startPage 起始位置
    startPage=
    pageSize*(pageNumber-1)+1
    endPage=startPage+pageSize
    SQL语句
    select
    a.* from
    (
       select rownum num ,t.* from  表名 t where 某列=某值 order by id
    asc
    )a
    where a.num>=startPage and a.num<endPage


    db2分页
    int startPage=1  //起始页
    int endPage;     //终止页
    int
    pageSize=5;  //页大小
    int pageNumber=1 //请求页


    startPage=(pageNumber-1)*pageSize+1
    endPage=(startPage+pageSize);



    SQL语句
    select * from (select 字段1,字段2,字段3,字段4,字段5,rownumber()
    over(order by 排序字段 asc ) as rowid  from 表名 )as a where a.rowid >= startPage
    AND a.rowid <endPage


    access分页
    pageSize 每页显示多少条数据
    pageNumber 页数
    从客户端传来
    pages=pageSize*(pageNumber-1)+1
    SQL语句
    select top pageSize *
    from 表名 where id>=(select max(id) from (select top pages id from 表名 order by
    id asc ) t )

  • 相关阅读:
    Java List集合
    Java 集合删除重复元素、删除指定元素
    进程和线程
    Java 线程的同步与死锁
    Java 线程的常用操作方法
    Java 多线程实现
    统计分析
    递归方法(回文)
    素数的输出
    动手动脑二
  • 原文地址:https://www.cnblogs.com/fancunwei/p/3183015.html
Copyright © 2011-2022 走看看