Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql一次获取列和,同时也获取不同的值_Mysql_Mysqldump - Fatal编程技术网

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`

请用您想要的结果编辑您的问题。