mysql 限制和偏移量大 table
mysql limit and offset in large table
我有一个 table 有 800000 条记录,我想 select 从 100000 开始记录,限制是 10
我的查询是:
SELECT * FROM `customercsv` WHERE insert_status = 0 order by id limit 10 OFFSET 100000
但是记录是从103474开始的。
我附上屏幕供您进一步参考。
如果您希望结果从 id = 100000
开始,请在 WHERE
子句中指定。
SELECT *
FROM `customercsv`
WHERE insert_status = 0
AND id >= 1000000
ORDER BY id
LIMIT 10
您当前的查询 OFFSET
为以下查询获取数据:
SELECT *
FROM `customercsv`
WHERE insert_status = 0
ORDER BY id
然后,跳过前 100000 行,并显示之后的 10 个结果。因此,有 3474
行使得 insert_status
不是 0。您可以通过 运行:
确认
SELECT COUNT(1)
FROM customercsv
WHERE id <= 103474
AND insert_status <> 0
我有一个 table 有 800000 条记录,我想 select 从 100000 开始记录,限制是 10
我的查询是:
SELECT * FROM `customercsv` WHERE insert_status = 0 order by id limit 10 OFFSET 100000
但是记录是从103474开始的。
我附上屏幕供您进一步参考。
如果您希望结果从 id = 100000
开始,请在 WHERE
子句中指定。
SELECT *
FROM `customercsv`
WHERE insert_status = 0
AND id >= 1000000
ORDER BY id
LIMIT 10
您当前的查询 OFFSET
为以下查询获取数据:
SELECT *
FROM `customercsv`
WHERE insert_status = 0
ORDER BY id
然后,跳过前 100000 行,并显示之后的 10 个结果。因此,有 3474
行使得 insert_status
不是 0。您可以通过 运行:
SELECT COUNT(1)
FROM customercsv
WHERE id <= 103474
AND insert_status <> 0