ID C2 C3
1 1 10
2 1 10
3 2 10
4 2 10
5 3 10
6 3 10
7 4 10
8 4 10
希望得到結果為
   C2   sum(c3)
列C2為偶數 40
列C2為奇數 40

解决方案 »

  1.   

    select c2 = '列C2為偶數' , sum(C3) from tb where c2%2 = 0
    union all
    select c2 = '列C2為奇數' , sum(C3) from tb where c2%2 <> 0试试
      

  2.   


    SELECT 
    C2 = CASE WHEN c2 % 2 = 1 THEN N'列C2為奇數' ELSE N'列C2為偶數' END,
    C3 = SUM(C3)
    FROM tb
    GROUP BY CASE WHEN c2 % 2 = 1 THEN N'列C2為奇數' ELSE N'列C2為偶數' END
      

  3.   

    if object_id('pubs..tb') is not null
       drop table tb
    gocreate table tb
    (
    C2 int,
    C3 int
    )insert into tb(c2,c3) values(1,10)
    insert into tb(c2,c3) values(1,10)
    insert into tb(c2,c3) values(2,10)
    insert into tb(c2,c3) values(2,10)
    insert into tb(c2,c3) values(3,10)
    insert into tb(c2,c3) values(3,10)
    insert into tb(c2,c3) values(4,10)
    insert into tb(c2,c3) values(4,10)select c2 = '列C2為偶數' , sum(C3) as sum_c3 from tb where c2%2 = 0
    union all
    select c2 = '列C2為奇數' , sum(C3) as sum_c3 from tb where c2%2 <> 0drop table tbc2         sum_c3      
    ---------- ----------- 
    列C2為偶數 40
    列C2為奇數 40(所影响的行数为 2 行)
      

  4.   

    select C2=(Case when C2/2=C2/2.0 then '偶数' else '奇数' end),SumC3=sum(C3) from Table1 group by (Case when C2/2=C2/2.0 then '偶数' else '奇数' end)
      

  5.   


    SELECT 
    C2 = CASE WHEN c2 % 2 = 1 THEN N'列C2為奇數' ELSE N'列C2為偶數' END,
    C3 = SUM(C3)
    FROM tb
    GROUP BY CASE WHEN c2 % 2 = 1 THEN N'列C2為奇數' ELSE N'列C2為偶數' END