2016-02-17 36 views
0

我想通過(client,prop1,prop2)來總結每個唯一行集合的狀態。 水木清華這樣的:DISTINCT(客戶端,爲prop1,PROP2)如何爲3列寫查詢DISTINCT

這是我的表:

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 

請幫助

+0

兩個支柱*看起來像一個設計缺陷。 – Strawberry

回答

4

這是一個聚合,不是select distinct

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

太棒了,謝謝你 –