mysql一次获取列和,同时也获取不同的值
我有这样的数据库mysql一次获取列和,同时也获取不同的值,mysql,mysqldump,Mysql,Mysqldump,我有这样的数据库 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
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
Select `project_id`, SUM(`price`) FROM `table-name` GROUP BY `client_id`
现在,我希望它将使用相同的客户id对价格列求和。
为此,我提出了这样的问题
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
Select `project_id`, SUM(`price`) FROM `table-name` GROUP BY `client_id`
这一个是做总和的价格,但我得到的结果只有两个项目的id。我想结果应该是所有不同的项目的客户id和价格将为集团客户的总和。
有人能告诉我怎么做吗?任何帮助和建议都是非常值得的。谢谢group by查询中不应该有group by语句中没有的裸列 如果您想要项目列表,可以在如下列表中获取它们:
SELECT client_id, GROUP_CONCAT(project_id), SUM(price)
FROM table-name
GROUP BY client_id;
您只有两个客户端,因此您只能获得两条记录,您可以按两列进行分组
Select `project_id`, SUM(`price`) FROM `table-name` GROUP BY `client_id`, `project_id`
请用您想要的结果编辑您的问题。