我有表公司
。它存储以下数据:id、标题、预算、pid(父 id)、总金额。需要计算公司预算+子公司预算。我在总计列中执行此操作。
"SELECT o.id, o.title, o.budget, o.pid,
(select sum(o1.budget)+o.budget from company o1 where o1.pid=o.id) total
FROM company o ORDER BY o.id";
该请求仅汇总了下一级的预算金额,我需要计算所有下属公司的预算。
最佳答案
您缺少 GROUP BY,如果没有 GROUP BY,您将只能获得预算总和,请尝试如下操作:
SELECT o.id, o.title, o.budget, o.pid,
(select sum(o1.budget)+o.budget from company o1 where o1.pid=o.id) total
FROM company o
GROUP BY o.id
ORDER BY o.id
关于mysql - Sum 函数仅返回一层层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35877609/