2013-04-21 68 views
6

我有一個表,如下所示計數沒有重複

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

不同會阻止DUP licates! – rach 2013-04-21 17:18:52

回答

15

這裏的關鍵是在COUNT()中使用DISTINCT,所以它只會計算唯一的值。

SELECT FK_OrgId, COUNT(DISTINCT FK_UserId) 
FROM TableName 
GROUP BY FK_OrgId 

輸出

╔══════════╦════════════╗ 
║ FK_ORGID ║ TOTALCOUNT ║ 
╠══════════╬════════════╣ 
║  1 ║   2 ║ 
║  3 ║   2 ║ 
║  4 ║   1 ║ 
╚══════════╩════════════╝ 
+0

警告:這將無法通過'MS ACCESS'工作。 – 2013-04-21 17:32:02

3

你應該使用distinct關鍵字,從而避免dupplicates

select t.FK_OrgId, count(distinct t.FK_UserId) 
from TableName as t 
group by t.FK_OrgId