php - 是否可以使用 LIMIT 数据在 PHP MySQL 查询中分离结果?

标签 php mysql

我有一个包含 3500 行的 SQL 表(实际上还有更多行)。我需要知道是否有可能获取所有并将它们分成一组,每组 1000 个。我知道最后一组是 500 行,但这很好。

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

更新

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

最佳答案

如果您想从 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);

关于php - 是否可以使用 LIMIT 数据在 PHP MySQL 查询中分离结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56699172/

相关文章:

php - 如何从 mysql 表中获取自增字段名或主键字段名?

php - CodeIgniter:连续两个模型方法导致内部服务器错误

javascript - CORS 在 php slim 框架中不工作

php - 如何在mysql中存储媒体文件路径

mysql - 第一范式和名字和姓氏

PHP 相当于这个 Javascript

php - Doctrine 查询语法错误

php - 下拉菜单的查询结果

mysql - 在 docker start 上创建表

php - 可捕获的 fatal error : Object of class stdClass could not be converted to string