首页 > 解决方案 > MySQL问题:从不同表中计算一些数据的正确方法

问题描述

我们有一张表A,我们在其中存储有关用户投资的数据;示例列user_id, project_id, amount.

我们还有一个表格B,我们在其中存储有关项目和投资总额的数据;列project_idtotal_amount.

使用 PHP,我们可以计算来自A和写入total_amount的数量B

问题:是否可以在 MYSQL 级别自动计算数据以避免在 PHP 中进行不必要的操作?

如果是,你能给我举个例子吗?

标签: phpmysqldatabase

解决方案


UPDATE tableB
LEFT JOIN (
    SELECT project_id, SUM(amount) total_amount
    FROM tableA
    GROUP BY project_id
) amounts
ON amounts.project_id = tableB.project_id
SET tableB.code_counter=amounts.total_amount

这应该有效。


推荐阅读