跳到主要内容

LIMIT 与 OFFSET 子句

LIMIT 是输出修饰子。从逻辑上讲,它在查询的最后阶段应用。LIMIT 子句用于限制返回的行数。OFFSET 子句用于指定从哪个位置开始读取结果,也就是忽略前 OFFSET 行。

请注意,LIMIT 虽然可以不配合 ORDER BY 使用,但没有 ORDER BY 时结果可能不具确定性。不过这在某些场景仍然有用,比如快速查看一份数据快照。

示例

addresses 表中选择前 5 行:

SELECT *
FROM addresses
LIMIT 5;

addresses 表中选择 5 行,从位置 5 开始(即忽略前 5 行):

SELECT *
FROM addresses
LIMIT 5
OFFSET 5;

选择人口最多的前 5 个城市:

SELECT city, count(*) AS population
FROM addresses
GROUP BY city
ORDER BY population DESC
LIMIT 5;

addresses 表中选择 10% 的行:

SELECT *
FROM addresses
LIMIT 10%;

语法