Select 
C1,
Count(Distinct C2) As C2cnt,
Count(Distinct C3) As C3cnt
from TableName 
Group By C1
Order By C1

解决方案 »

  1.   

    --建立测试环境
    Create Table TEST(
    C1 Varchar(10),
    C2 Varchar(10),
    C3 Varchar(10))
    --插入数据
    Insert TEST Values('A', 'A1', 'A11')
    Insert TEST Values('A', 'A1', 'A12')
    Insert TEST Values('A', 'A2', 'A21')
    Insert TEST Values('B', 'B1', 'B11')
    Insert TEST Values('B', 'B1', 'B12')
    Insert TEST Values('C', 'C1', 'C11')
    Insert TEST Values('C', 'C2', 'C21')
    --测试
    Select 
    C1,
    Count(Distinct C2) As C2cnt,
    Count(Distinct C3) As C3cnt
    from TEST 
    Group By C1
    Order By C1
    --删除测试环境
    Drop Table TEST
    --结果
    /*
    C1 C2cnt C3cnt
    A 2 3
    B 1 2
    C 2 2
    */