Oracle、DB2、SQLSERVER、MySQL、Access分页SQL语句

    技术2022-05-19  22

    sqlserver分页 1.  第一种分页方法  参数:  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 2. 第二种分页方法  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 )

    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) 即pages=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, 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 ) )


    最新回复(0)