不同列的不同分组

时间:2013-11-13 09:47:24

标签: sql sql-server reporting-services ssrs-2008

我不知道天气是否可能.. 我有一个包含4列的表格,例如

Col1     Col2     Col3     Col4
------------------------------------
O1       O1       P1       P1
O2       O1       P3       P1
O2       O2       P4       P1
O1       O3       P2       P2
O3       O3       P5       P3

我需要像<

这样的输出
Col     Col1Col3     Col2Col4 
------------------------------------
O1       2              1
O2       2              1
O3       1              2

结果应由Col1计数(Col3)组,Col2计数(Col4)组。 这可以在不使用“UNION”的情况下实现,因为我有5个不同的分组要做 任何人都可以帮助我...

1 个答案:

答案 0 :(得分:2)

请尝试:

select 
    col1, Col1Col3, Col2Col4 
From(
    select col1,count(Col3)  Col1Col3 
    from YourTable
    group by Col1
)x join 
(
    select col2, Count(Col4)  Col2Col4 
    from YourTable
    group by Col2
)y on x.Col1=y.col2

OR

select 
    col1, 
    SUM(c13) Col1Col3, 
    SUM(c24) Col2Col4
from(
    select Col1, 1 c13, 0 c24 From YourTable
    union all
    select Col2, 0 c13, 1 c24 From YourTable
)x
group by col1