2013-04-21 17 views
6

Ho una tabella come la seguenteconteggio senza duplicati

FK_OrgId , FK_UserId 
3 , 74 
1 , 74 
1 , 74 
3 , 4 
4 , 5 
1 , 5 

Sto cercando di contare FK_OrgId ma devo eliminare i duplicati. Quindi, voglio un risultato come

FK_OrgId, count 
3 , 2 
1 , 2 
4 , 1 

Qualche suggerimento?

+0

distinta impedirà dup licates! – rach

risposta

15

La chiave qui è utilizzare DISTINCT all'interno di COUNT() in modo che contenga solo valori univoci.

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

USCITA

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

avvertimento: questo non funzionerà però in 'MS ACCESS' .. –

3

si dovrebbe usare distinct parola chiave in modo da evitare dupplicates

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