Sum函数仅返回一个层次结构

时间:2016-03-08 20:42:03

标签: mysql sql database

我有表company。它存储以下数据:id,title,budget,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"; 

此请求仅在以下级别汇总预算金额,我需要计算所有下属公司的预算。

1 个答案:

答案 0 :(得分:0)

您缺少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