我想知道是否有办法使用运算符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)