2016-10-03 4 views
0

ユーザーごとに一意の値を数え、合計数を計算しようとしています。ユーザーごとに複数回存在する可能性がありますが、ユーザーごとに1回のみカウントする必要があります。SQL - 別のフィールドに基づいて一意の行を数える

例:カウントが

user value 
1  AAA 
1  AAA 
1  BBB 
1  CCC 
2  AAA 
2  CCC 
2  CCC 
3  AAA 
3  BBB 
3  BBB 
3  BBB 

期待される結果:

AAA 3 
BBB 2 
CCC 2 

だから値は関係なく、彼らが存在している回数、ユーザーごとに一度にカウントすべきではありません。私はこれで値の合計数をカウントする限り得ている

SELECT value, COUNT(value) FROM table GROUP BY value") 

をしかし、これは各値のすべてのインスタンスをカウントし、私は、ユーザーあたりのみ一意の値をカウントする方法を考え出すことはできません結合する。これが理にかなってほしい!どうもありがとう!

答えて

4

これを試してみてください:

SELECT value, COUNT(distinct user) FROM table GROUP BY value 
関連する問題