Mysql Oracle sqlserver 数据分页查询语句

来源:互联网 发布:济宁淘宝培训机构 编辑:程序博客网 时间:2024/05/17 07:33

MySQL实现数据分页依靠的是limit这个属性!
1. 标准查询语句:
select * from table(表名) limit startPos,pageSize
小结:
1.startPos:定义当前页起始位置 注意:当前页的起始位置只能在当前页确定之后才能定义;
2.pageSize:定义每页显示数据的条数
3.如果给定2个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。


sqlserver不支持关键字limit ,所以它的分页sql查询语句将不能用mysql的方式进行,幸好sqlserver提供了top等关键字,这样就能通过这几个关键字实现分页。
1. 标准查询语句:
SELECT TOP 页大小 * 
       FROM TestTable 
       WHERE (ID NOT IN 
       (SELECT TOP 页大小*页数 id 
       FROM 表 
       ORDER BY id)) 
       ORDER BY ID 


Oracle实现数据分页
  分页查询格式:
SELECT * FROM 
(
SELECT A.*, ROWNUM RN 
FROM (SELECT * FROM TABLE_NAME) A 
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。


1 0