我有一个3500行的SQL表(实际上还有很多)。我需要知道是否有可能全部获取并将它们分成1000个一组。我知道最后一组是500行,但是没关系。
我需要执行自动查询以生成最多包含1000个条目的站点地图。
更新
因此我需要上述查询中的4组,前3个数组中有1000个条目,最后一个数组中有500个条目。
答案 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