首页 > 解决方案 > 如何总结两个不同的表值

问题描述

我有两张桌子:

data
id[int]    balance[float]    category[id]
   1            10.2              1
   2            0.12              2
   3           112.42             1
   4            2.3               3

categories
id[int]    name[varchar]    start_at[float]
   1            high             10.5
   2            low             105.2
   3            mid              0.7

我想查询类别并加入数据。对于每个类别,我希望将所有数据余额的总和添加到类别的 start_at 值中:

这是我开始的地方:

select sum(d.balance) as balancesum, c.name
from data d
left join categories c on c.id = d.category
group by d.category

我想知道的是,如何将start_at类别的值添加到balancesum值中?

标签: mysqlsumleft-join

解决方案


SELECT c.name, c.start_at + SUM(d.balance) as balancesum
FROM categories c
JOIN data d ON c.id = d.category
GROUP BY c.name, c.start_at

推荐阅读