MYSQL具有唯一结果的列的求和
我有一张多对多的桌子MYSQL具有唯一结果的列的求和,mysql,sql,group-by,sum,Mysql,Sql,Group By,Sum,我有一张多对多的桌子 +----------+-----------+-----------+ | p | t | weight | +----------+-----------+-----------+ | 1 | bob | 40 | +----------+-----------+-----------+ | 2 | sue | 24 | +----------+-----
+----------+-----------+-----------+
| p | t | weight |
+----------+-----------+-----------+
| 1 | bob | 40 |
+----------+-----------+-----------+
| 2 | sue | 24 |
+----------+-----------+-----------+
| 3 | bob | 90 |
+----------+-----------+-----------+
| 4 | joe | 55 |
+----------+-----------+-----------+
| 5 | bob | 33 |
+----------+-----------+-----------+
我想查询t值,其中p在(1,2,4,5)中,同时求和t的每个值的权重
此查询:“选择t,总和(权重)作为从p_到p_t的方向,其中p位于(1,2,4,5)”代码>仅将所有总和添加到选定的第一个“t”中,例如
+-----------+-----------+
| t | weight |
+-----------+-----------+
| bob | 152 |
+-----------+-----------+
我想要的是:
+-----------+-----------+
| t | weight |
+-----------+-----------+
| bob | 97 |
+-----------+-----------+
| joe | 55 |
+-----------+-----------+
想法 只需在t上添加一个groupby
子句即可
SELECT
t,
SUM(weight) AS sWeight
FROM p_to_t
WHERE p IN(1,2,4,5)
GROUP BY t
顺便说一下,您还可以在in子句中使用这些值获取Sue
对于Bob来说不是97
,因为40+33
通常是73
只需在t上添加一个GROUP BY
子句即可
SELECT
t,
SUM(weight) AS sWeight
FROM p_to_t
WHERE p IN(1,2,4,5)
GROUP BY t
SELECT t, SUM(weight) AS sWeight FROM p_to_t WHERE p IN(1,2,4,5) GROUP BY t
顺便说一下,您还可以在in子句中使用这些值获取Sue
对于Bob来说不是97
,因为40+33
通常是73
SELECT t, SUM(weight) AS sWeight FROM p_to_t WHERE p IN(1,2,4,5) GROUP BY t
是的,您可以在实际查询中仅添加Group by。然后您将得到以下结果
SELECT t, SUM(weight) AS sWeight
FROM p_to_t
WHERE p IN(1,2,4,5)
Group by t;
+-----------+-----------+
| t | weight |
+-----------+-----------+
| bob | 73 |
+-----------+-----------+
| joe | 55 |
+-----------+-----------+
| sue | 24 |
+-----------+-----------+
是的,您可以在实际查询中仅添加分组依据。然后您将得到以下结果
SELECT t, SUM(weight) AS sWeight
FROM p_to_t
WHERE p IN(1,2,4,5)
Group by t;
+-----------+-----------+
| t | weight |
+-----------+-----------+
| bob | 73 |
+-----------+-----------+
| joe | 55 |
+-----------+-----------+
| sue | 24 |
+-----------+-----------+
太好了,谢谢。是的,我忘记了苏,把她的观点加在了鲍勃身上。对不起,苏。@HowardZoopalopa苏会原谅的。太好了,谢谢。是的,我忘记了苏,把她的观点加在了鲍勃身上。对不起,苏。@HowardZoopalopa苏会原谅的。