假设我有一个包含 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/