我有一个表,如下所示计数没有重复
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
有什么建议吗?
这里的关键是在COUNT()
中使用DISTINCT
,所以它只会计算唯一的值。
SELECT FK_OrgId, COUNT(DISTINCT FK_UserId)
FROM TableName
GROUP BY FK_OrgId
输出
╔══════════╦════════════╗
║ FK_ORGID ║ TOTALCOUNT ║
╠══════════╬════════════╣
║ 1 ║ 2 ║
║ 3 ║ 2 ║
║ 4 ║ 1 ║
╚══════════╩════════════╝
警告:这将无法通过'MS ACCESS'工作。 – 2013-04-21 17:32:02
你应该使用distinct
关键字,从而避免dupplicates
select t.FK_OrgId, count(distinct t.FK_UserId)
from TableName as t
group by t.FK_OrgId
不同会阻止DUP licates! – rach 2013-04-21 17:18:52