我有一个表格如下
FK_OrgId , FK_UserId
3 , 74
1 , 74
1 , 74
3 , 4
4 , 5
1 , 5
我正在尝试计算FK_OrgId,但我必须消除重复。所以,我想要一个像
这样的结果 FK_OrgId, count
3 , 2
1 , 2
4 , 1
有什么建议吗?
答案 0 :(得分:22)
此处的关键是在DISTINCT
内使用COUNT()
,因此它只会计算唯一值。
SELECT FK_OrgId, COUNT(DISTINCT FK_UserId)
FROM TableName
GROUP BY FK_OrgId
输出
╔══════════╦════════════╗
║ FK_ORGID ║ TOTALCOUNT ║
╠══════════╬════════════╣
║ 1 ║ 2 ║
║ 3 ║ 2 ║
║ 4 ║ 1 ║
╚══════════╩════════════╝
答案 1 :(得分:3)
您应该使用distinct
关键字以避免重复
select t.FK_OrgId, count(distinct t.FK_UserId)
from TableName as t
group by t.FK_OrgId