mysql - Sum 函数仅返回一层层次结构

标签 mysql sql database

我有表公司。它存储以下数据: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/

相关文章:

sql - 尝试在 Ubuntu 19.04 上安装 Oracle Database 19c

sql - 递归查询

mysql - 多作者多本书的关系数据库

mysql - 如何合并两个表以获取MySQL中不同表的结果

php - 数组到字符串错误

c# - T-SQL : Lock a table manually for some minutes

database - 数据库中有新条目后自动创建 PDF

java - 无法使私有(private)广播方法起作用

php - 为什么使用wamp向本地服务器发送数据不成功?

mysql - 如何从以默认关键字作为表名的表中选择数据