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
我正在尝试对每个用户的唯一值进行计数,并以合并计数结束。每个用户可能存在不止一次,但每个用户只应计算一次。
示例:
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