对一列求和并将其与另一列相加 table

make sum of one column and join it with another table

我有两个 tables,我想要一个查询来获取 table 2 (addonAmount) 列的总和并将其与 table 1

table 1: subscriptions

+-------+--------+-------------+
| subId | userId | subDuration |
+-------+--------+-------------+
|    80 |   4607 | 6           |
|    81 |   4607 | 12          |
|    82 |   4608 | 18          |
+-------+--------+-------------+

table 2: subscriptionAddons

+---------+-------+-------------+
| addonId | subId | addonAmount |
+---------+-------+-------------+
|      15 |    80 | 4           |
|      16 |    80 | 2           |
+---------+-------+-------------+

我使用的查询:

SELECT subscriptions.*, subscriptionAddons.addonAmount
FROM subscriptions LEFT JOIN subscriptionAddons
ON subscriptions.subId = subscriptionAddons.subId;

我想要的

+-------+--------+-------------+------------+
| subId | userId | subDuration |addonAmount |
+-------+--------+-------------+------------+
|    80 |   4607 | 6           |6           |
|    81 |   4607 | 12          |NULL        |
|    82 |   4608 | 18          |NULL        |
+-------+--------+-------------+------------+

您需要按定义记录的列进行分组,并对您想要的列求和作为结果。

SELECT s.subId, s.userId, s.subDuration, sum(sa.addonAmount) as addonAmount
FROM subscriptions s LEFT JOIN subscriptionAddons sa
    ON s.subId = sa.subId
GROUP BY s.subId, s.userId, s.subDuration;