我有这样的数据库
id project_id client_id price
1 1 1 200
2 2 1 123
3 2 1 100
4 1 1 87
5 1 1 143
6 1 1 100
7 3 3 123
8 3 3 99
9 4 3 86
10 4 3 43
11 4 3 145
12 4 3 155
现在我希望它将具有相同 client_id 的价格列相加。 为此,我只是这样进行查询
Select `project_id`, SUM(`price`) FROM `table-name` GROUP BY `client_id`
这个正在对价格进行求和,但结果中我只得到两个project_id。我希望结果应该是客户 ID 的所有不同项目,并且价格将为团体客户求和。 那么有人可以告诉我该怎么做吗?任何帮助和建议都将非常感激。谢谢
最佳答案
group by
查询中不应包含不在 group by
语句中的“裸”列。
如果您想要项目列表,可以将它们放在这样的列表中:
SELECT client_id, GROUP_CONCAT(project_id), SUM(price)
FROM table-name
GROUP BY client_id;
关于mysql 获取列总和并且一次获取不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29390775/