Mysql,Oracle,SQL server 分页查询

Mysql分页查询

PageNo 为当前页数,PageSize为每页的条数

1
2
3
SELECT    *
FROM TABLE_NAME
LIMIT (PageNo - 1) * PageSize,PageSize;

Oracel的分页查询:

其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。

1
2
3
4
5
6
7
SELECT * FROM  
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21

SQL Server分页查询

假设每页的条数是10,现在要拿出第5页的内容,查询语句如下:

1
2
3
4
5
6
7
8
select top 10 *
from TABLE_NAME
where id not in
(
条数是这么计算出来的:10*(5-1)=40
select top 40 id from test order by id
)
order by id

坚持原创技术分享,您的支持是我前进的动力!