需求:实现数据库分页查询
offset 为 0 时,查询前 maxnum 行数据(从第 1 行到第 maxnum 行)。
offset 为 1 时,查询 maxnum 到 2 * maxnum 行数据(即从第 maxnum + 1 行到第 2 * maxnum行)。
以此类推,每次根据 offset 和 maxnum 动态计算查询的范围。
方案:PostgreSQL 的 LIMIT 和 OFFSET
-
LIMIT maxnum:限制查询返回的最大行数。
-
OFFSET (offset * maxnum):跳过前面 offset * maxnum 行。
SQL 查询模板
SELECT * FROM your_table_name
LIMIT $1 OFFSET $2;
-
$1 表示最大行数 maxnum。
-
$2 表示偏移量 offset * maxnum,即你要跳过的行数。