Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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 如何为3列编写不同的查询_Mysql_Sql - Fatal编程技术网

Mysql 如何为3列编写不同的查询

Mysql 如何为3列编写不同的查询,mysql,sql,Mysql,Sql,我想按(client,prop1,prop2)对每一组唯一行的状态求和。 smth-like:DISTINCT(客户机、prop1、prop2) 这是我的桌子: client | prop1 | prop2 | status ---------------------------------- name1 | pr100 | pr310 | OK name1 | pr100 | pr310 | error name1 | pr100 | pr310 | OK

我想按(client,prop1,prop2)对每一组唯一行的状态求和。 smth-like:DISTINCT(客户机、prop1、prop2)

这是我的桌子:

client  |  prop1  | prop2  | status
----------------------------------
name1   |  pr100  | pr310  | OK
name1   |  pr100  | pr310  | error
name1   |  pr100  | pr310  | OK
name1   |  pr100  | pr310  | OK
name2   |  pr255  | pr320  | OK
name2   |  pr255  | pr320  | OK
name2   |  pr255  | pr320  | error
name2   |  pr400  | pr320  | error
name3   |  pr400  | pr500  | OK
name3   |  pr400  | pr500  | OK
我试图得到这个:

client  |  prop1  | prop2  | OK  | error
----------------------------------
name1   |  pr100  | pr310  | 3   |  1
name2   |  pr255  | pr320  | 2   |  1
name2   |  pr400  | pr320  | 0   |  1
name3   |  pr400  | pr500  | 2   |  0

请提供帮助

这是一个聚合,而不是一个
选择不同的

select client, prop1, prop2,
       sum(status = 'OK') as ok, sum(status = 'error') as error
from t
group by client, prop1, prop2;

这是一个聚合,而不是一个
select distinct

select client, prop1, prop2,
       sum(status = 'OK') as ok, sum(status = 'error') as error
from t
group by client, prop1, prop2;
两个支柱看起来像设计缺陷。两个支柱看起来像设计缺陷。