我想按(客户、prop1、prop2)对每组唯一行的状态求和。 像这样:DISTINCT(client, prop1, prop2)
这是我的 table :
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 distinct
:
select client, prop1, prop2,
sum(status = 'OK') as ok, sum(status = 'error') as error
from t
group by client, prop1, prop2;
关于mysql - 如何为 3 列编写查询 DISTINCT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455893/