2017-04-04 12 views
0

私は次のデータを持っています。私は重複を避けるために、私は「前夜」のUIDをカウントし、同じuidは「月」に表示されている場合のみ、「前夜」のUIDを数えることを確認するために、結果の下に取得するクエリんか重複からユニークな値を集計してください

Uid | comm | status 
------------------- 
12 23  eve 
15 23  eve 
20 23  mon 
12 23  mon 
20 23  eve 
17 23  mon 

count | status 
------------------- 
3   eve 
1   mon 

ありがとうございます!

答えて

2

あなたは一度、各Uid値を選択するために、次のクエリを使用することができます。

SELECT Uid, MIN(status) 
FROM mytable 
GROUP BY Uid 

出力:

Uid MIN(status) 
--------------- 
12 eve 
15 eve 
17 mon 
20 eve 

を上記のクエリを使用して、あなたがこのような望ましい結果で取得することができます:

SELECT status, count(*) 
from (
    SELECT Uid, MIN(status) AS status 
    FROM mytable 
    GROUP BY Uid) AS t 
GROUP BY status 

Demo here

+0

私のために働いた!ありがとうございました! – dCoder

関連する問題