SQL列中的聚合值

时间:2014-01-02 10:45:03

标签: sql sql-server tsql

我是SQL初学者,我有以下问题:

我有以下数据(按周销售文章)

COUNT   WEEK    ART
4           1   A
9           1   B

5           2   A
4           2   B

6           3   A
5           3   B

7           4   A
2           4   B

我想要以下输出

ODD_WEEK    EVEN_WEEK   ART
10          12          A
14          6           B

换句话说,我想按照列中的条件(ODD_WEEK)和另一列中的其他条件(EVEN_WEEK)对元素进行分组

是否可以在T-SQL中使用?

1 个答案:

答案 0 :(得分:5)

尝试此查询

select
   art,
   sum(case when week%2=0 then count else 0 end) even,
   sum(case when week%2<>0 then count else 0 end) odd
from 
   tbl
group by 
   art

FIDDLE

| ART | EVEN | ODD |
|-----|------|-----|
|   A |   12 |  10 |
|   B |    6 |  14 |