LIMIT 子句
LIMIT m 允许从结果中选择前 m 行。
LIMIT n, m 允许在跳过前 n 行后,从结果中选择 m 行。 LIMIT m OFFSET n 语法是等效的。
n 和 m 必须是非负整数。
如果没有显式排序结果的 ORDER BY 子句,则结果的行选择可能是任意的且不确定的。
LIMIT ... WITH TIES 修饰符
当您为 LIMIT n[,m] 设置 WITH TIES 修饰符并指定 ORDER BY expr_list 时,您将获得结果中的前 n 或 n,m 行,以及所有与结果集中第 n 行(对于 LIMIT n)或第 m 行(对于 LIMIT n,m)具有相同 ORDER BY 字段值的行。
此修饰符还可以与 ORDER BY ... WITH FILL 修饰符 结合使用。
例如,以下查询
SELECT * FROM (
SELECT number%50 AS n FROM numbers(100)
) ORDER BY n LIMIT 0,5
返回
┌─n─┐
│ 0 │
│ 0 │
│ 1 │
│ 1 │
│ 2 │
└───┘
但是应用 WITH TIES 修饰符后
SELECT * FROM (
SELECT number%50 AS n FROM numbers(100)
) ORDER BY n LIMIT 0,5 WITH TIES
它返回另一个行集合
┌─n─┐
│ 0 │
│ 0 │
│ 1 │
│ 1 │
│ 2 │
│ 2 │
└───┘
因为第 6 行的字段 n 的值 “2” 与第 5 行相同