我有一张如下表
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
有什么建议么?
我有一张如下表
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
有什么建议么?
这里的关键是使用DISTINCT
inside COUNT()
,所以它只会计算唯一值。
SELECT FK_OrgId, COUNT(DISTINCT FK_UserId)
FROM TableName
GROUP BY FK_OrgId
输出
╔══════════╦════════════╗
║ FK_ORGID ║ TOTALCOUNT ║
╠══════════╬════════════╣
║ 1 ║ 2 ║
║ 3 ║ 2 ║
║ 4 ║ 1 ║
╚══════════╩════════════╝
您应该使用distinct
关键字以避免重复
select t.FK_OrgId, count(distinct t.FK_UserId)
from TableName as t
group by t.FK_OrgId