是否可以用LIMIT数据隔离PHP MySQL Query中的结果?

时间:2019-06-21 07:57:49

标签: php mysql

我有一个3500行的SQL表(实际上还有很多)。我需要知道是否有可能全部获取并将它们分成1000个一组。我知道最后一组是500行,但是没关系。

我需要执行自动查询以生成最多包含1000个条目的站点地图。

更新

因此我需要上述查询中的4组,前3个数组中有1000个条目,最后一个数组中有500个条目。

2 个答案:

答案 0 :(得分:2)

如果要从SQL查询级别执行此操作,可以使用LIMIT(documentation)可用的OFFSET:

SELECT * FROM orders LIMIT 1000 OFFSET 0
SELECT * FROM orders LIMIT 1000 OFFSET 1000
SELECT * FROM orders LIMIT 1000 OFFSET 2000

较短的语法是

SELECT * FROM orders LIMIT 1000, 0
SELECT * FROM orders LIMIT 1000, 1000
SELECT * FROM orders LIMIT 1000, 2000

但是,如果要通过查询加载所有3500行,请使用array_chunk()LINK):

$allRows = [/* your data */];
$chunkSize = 1000;
$chunks = \array_chunk($allRows, $chunkSize);

答案 1 :(得分:0)

您可以将var cors = require('cors'); app.use(cors()); LIMIT一起使用。阅读手册Here

如果要使用前1000行,请使用:

OFFSET

如果您希望其他1000行使用:

SELECT * FROM table
LIMIT 0, 1000

在您的情况下:

SELECT * FROM table
LIMIT 1000, 1000