2016-10-03 45 views
0

我想按每个用户计算唯一值,并以组合计数结束。它们可能每个用户存在一次以上,但每个用户只应计为一次。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