主流常见关系数据库分页sql语句写法limit、offset、fetch、rownum。MySQL、PostgreSQL、SQLite、Oracle、DBSQL Server。
在MySQL和PostgreSQL中,分页查询通常使用LIMIT
和OFFSET
子句。在MySQL中,LIMIT
指定返回记录的最大数目,OFFSET
指定要跳过的记录数。在PostgreSQL中,可以使用LIMIT
和OFFSET
,或者使用SQL标准的FETCH FIRST
和OFFSET
子句,或者使用ROW_NUMBER()
窗口函数。
以下是各种数据库的分页查询示例:
MySQL:
SELECT * FROM table_name
LIMIT 10 OFFSET 20; -- 跳过20条记录,返回之后的10条记录
PostgreSQL (使用 LIMIT 和 OFFSET):
SELECT * FROM table_name
LIMIT 10 OFFSET 20; -- 跳过20条记录,返回之后的10条记录
PostgreSQL (使用 FETCH FIRST 和 OFFSET):
SELECT * FROM table_name
ORDER BY column_name
OFFSET 20 ROWS FETCH FIRST 10 ROWS ONLY; -- 跳过20条记录,按column_name排序后返回之后的10条记录
PostgreSQL (使用 ROW\_NUMBER() 窗口函数):
SELECT * FROM (
SELECT
*,
ROW_NUMBER() OVER (ORDER BY column_name) AS rn
FROM table_name
) subquery
WHERE rn > 20 AND rn <= 30; -- 返回按column_name排序后的第21条到第30条记录
请根据您使用的具体数据库系统选择合适的分页语句。
评论已关闭