如何使用 LIMIT 始终包含第一行



我想知道是否有办法使用运算符LIMIT始终在结果集中包含第一行。我的意思是无论指定的任何范围。例如:

SELECT * FROM `table` LIMIT 5, 10

应返回第一行和第 6 行到 15 或:

SELECT * FROM `table` LIMIT 200, 30

应返回第一行和第 201 行到 231。有没有办法做到这一点?

编辑 第一行 ID 始终为 0

我没有看到另一种方式:

(SELECT * from table LIMIT 1)
UNION
(SELECT * FROM table LIMIT 5, 10)

或正如斯科特所指出的那样,;)新的信息

SELECT * from table Where id = 0
UNION
(SELECT * FROM table LIMIT 5, 10)

不要忘记括号:

要将 ORDER BY 或 LIMIT 应用于单个 SELECT,请将子句 在将 SELECT 括起来的括号内:

(从 T1 中选择 A,其中 A=10 和 B=1 顺序限制为 10) 联合 (从 T2 中选择 A,其中 A=11 和 B=2 顺序限制为 10);

您可以使用 UNION 连接 2 个选择:(SELECT * FROM table LIMIT 1) UNION (SELECT * FROM table LIMIT 5, 10)

最新更新