跳转到主要内容
LIMIT 子句用于控制查询结果返回的行数。

基本语法

选择前几行:
返回结果中的前 m 行;如果结果少于 m 行,则返回全部记录。 TOP 的另一种语法 (兼容 MS SQL Server) :
这相当于 LIMIT m,可用于兼容 Microsoft SQL Server 的查询语法。 带偏移量的 SELECT:
跳过前 n 行,然后返回后续 m 行。 在这两种形式下,nm 都必须是非负整数。

负数限制

使用负值从结果集的末尾选取行: LIMIT -n, -m 语法等同于 LIMIT -m OFFSET -n

分数限制

使用 0 到 1 之间的小数值来选取一定比例的行:
  • 分数必须是大于 0 且小于 1 的 Float64 值。
  • 非整数的行数会向上取整到下一个整数。

组合不同的 LIMIT 类型

你可以将普通整数与小数或负偏移量混合使用:

LIMIT … WITH TIES

WITH TIES 修饰符会包含与限制结果中最后一行具有相同 ORDER BY 值的其他行。
使用 WITH TIES 时,所有与最后一个值相同的行都会包含在结果中:
第 6 行也会被包含在内,因为它与第 5 行的值相同 (2) 。 使用 OFFSET 关键字指定偏移量时,情况也是如此:
跳过前 2 行并取 3 行通常会返回 1, 1, 2,但由于第二个 2 与最后一行并列,因此也会包含在结果中。
WITH TIES 不支持负数限制。
此修饰符可与 ORDER BY ... WITH FILL 修饰符结合使用。

注意事项

**非确定性结果:**如果没有 ORDER BY 子句,返回的行可能是任意的,并且在多次执行查询时可能会有所不同。 **服务器端限制:**返回的行数也可能受到 limit 设置的影响。

另请参阅

  • LIMIT BY — 限制每组值中的行数,适用于获取每个类别下前 N 个结果。
最后修改于 2026年6月10日