我有一个查询返回一个看起来像这样的表:
+------+----------+-------+------+----+
| pID | name | month | q | s |
+------+----------+-------+------+----+
| 1468 | bob | 2 | 1 | 14 |
| 1469 | bob | 2 | 1 | 2 |
| 1470 | bob | 2 | 1 | 9 |
| 1468 | bob | 3 | 1 | 7 |
| 1469 | bob | 3 | 1 | 8 |
| 1470 | bob | 3 | 1 | 11 |
+------+----------+-------+------+----+
我希望输出为
+----------+-------+------+-----+
| name | month | q | sub |
+----------+-------+------+-----+
| bob | 2 | 1 | 25 |
| bob | 3 | 1 | 26 |
+----------+-------+------+-----+
本质上,我希望输出的前两列是 name
, month
和 q
分组依据 name
和 month
(在此分组中,每行它们始终具有相同的数据)并且我希望最后一列是 s
的总和分组依据 name
仅有的。
谢谢。
最佳答案
应该是这样的:
SELECT name, month, q, SUM(sub)
FROM table
GROUP BY name, month, q
关于MySQL 分组与求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40165476/