php - 对 SQL 列的各个部分求和的更快方法

标签 php sql

假设我有一个包含 100 万行的表。一列列出“组”,另一列列出“销售”。组编号的范围从 1 到 100,000,这样每个组大约有 10 个销售条目。我想以某种方式将数据汇总为 100,000 行,其中包含每个组的销售额总和,而不是每个单独的销售额。

到目前为止,我的方法是运行一个从 1 到 100,000 的 PHP 循环,其中每次迭代都会向 sum(Sales) WHERE Group=$i 发送一个 SQL 查询。然后我可以将其回显到 html 表中,或者将其插入到新的 SQL 表中。问题是这种方法需要几个小时。

关于如何改进此流程有什么建议吗?有没有办法将其编写为单个 SQL 查询,从而大大提高速度?谢谢

最佳答案

尝试一下 GROUP BY:

SELECT `group`, sum(sales)
FROM your_table
GROUP BY `group`

编辑以包含的反引号。如果没有它们,您将收到错误

关于php - 对 SQL 列的各个部分求和的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39513066/

相关文章:

php - Laravel 4 条件路由过滤器

php - 我想使用 PHP 7.1.5 从 MySql 数据库中获取任何特定字段,但它不起作用

SQL Server存储过程存储返回值

php - Shopify GraphQL Admin API 速率限制成本和 sleep 时间

JSON 输出的 PHPUnit 测试

php - memcache php 缓存 js css 和图像

sql - oracle查询中如何获取字符串的前两个字符?

mysql - 需要在具有开始日期和结束日期的选定日期之间按天列出活跃客户列表(也为空)

SQLite "COUNT(*)"被认为有害?

sql - 查询在 PostgreSQL 中有效,但在 HSQL 中失败。我该如何解决?