SQL - 根据单独的字段计算唯一行

SQL - Counting unique rows based on a separate field

我正在尝试对每个用户的唯一值进行计数,并以合并计数结束。每个用户可能存在不止一次,但每个用户只应计算一次。

示例:

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")

但是这会计算每个值的所有实例,我不知道如何只计算每个用户的唯一值和组合。希望这是有道理的!非常感谢!

试试这个:

SELECT value, COUNT(distinct user) FROM table GROUP BY value