计数没有重复

Mar*_*arc 10 sql

我有一个如下表

 FK_OrgId , FK_UserId
 3 , 74
 1 , 74
 1 , 74
 3 , 4
 4 , 5
 1 , 5
Run Code Online (Sandbox Code Playgroud)

我正在尝试计算FK_OrgId,但我必须消除重复.所以,我想要一个像这样的结果

 FK_OrgId, count
 3 , 2
 1 , 2
 4 , 1
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Joh*_*Woo 28

这里的关键是在DISTINCT内部使用,COUNT()因此它只计算唯一值.

SELECT  FK_OrgId, COUNT(DISTINCT FK_UserId)
FROM    TableName
GROUP   BY FK_OrgId
Run Code Online (Sandbox Code Playgroud)

OUTPUT

?????????????????????????
? FK_ORGID ? TOTALCOUNT ?
?????????????????????????
?        1 ?          2 ?
?        3 ?          2 ?
?        4 ?          1 ?
?????????????????????????
Run Code Online (Sandbox Code Playgroud)


Ste*_*and 5

您应该使用distinct关键字以避免重复

select  t.FK_OrgId, count(distinct t.FK_UserId)
from    TableName as t
group by t.FK_OrgId
Run Code Online (Sandbox Code Playgroud)