11

次のようなテーブルがあります

 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

助言がありますか?

4

2 に答える 2

34

ここで重要なのは、一意の値のみをカウントするようにDISTINCT内部で使用することです。COUNT()

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

出力

╔══════════╦════════════╗
║ FK_ORGID ║ TOTALCOUNT ║
╠══════════╬════════════╣
║        1 ║          2 ║
║        3 ║          2 ║
║        4 ║          1 ║
╚══════════╩════════════╝
于 2013-04-21T17:19:52.797 に答える