几种常用数据库 分页查询的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=//请求页  
  •   
  •  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 ) 

  • 免责声明!

    本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



     
    粤ICP备18138465号  © 2018-2025 CODEPRJ.COM