计数没有重复

时间:2013-04-21 17:16:12

标签: sql

我有一个表格如下

 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

有什么建议吗?

2 个答案:

答案 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