【发布时间】:2019-05-22 10:18:48
【问题描述】:
我想使用限制和偏移量进行选择查询,我使用本文中的一个示例
https://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
但我总是只从我的表中获取一个 id 的数据并且有 1000 行。
我的查询有什么问题? 例如:
- id 57 姓名约翰;
- id 57 姓名约翰;
等等……
SELECT d.id, drivers
FROM ( SELECT id FROM drivers LIMIT 1000 OFFSET 1000) ds
JOIN drivers d ON d.id = ds.id;
【问题讨论】:
-
OFFSET 1000将只返回第 1000 条记录。删除它以获得前 1000 条记录。 -
请注意,没有 ORDER BY 的 LIMIT 是毫无意义的(我敢打赌@Quassnoi 有一个 ORDER BY 子句)
-
我遇到了与 OFFSET 0 相同的问题
-
添加 ORDER BY,但仍然只得到一个 id
SELECT d.id, drivers FROM ( SELECT id FROM drivers ORDER BY id LIMIT 1000 OFFSET 0) ds JOIN drivers d ON d.id = ds.id ORDER BY d.id;
标签: mysql