select 
    载重 = '1-10',
    区段1次数 = sum(case when 区段 = 1 and 载重 between 1 and 10 then 1 else 0 end),
    区段1次数 = sum(case when 区段 = 2 and 载重 between 1 and 10 then 1 else 0 end)
from
union
select 
    载重 = '11-20',
    区段1次数 = sum(case when 区段 = 1 and 载重 between 11 and 20 then 1 else 0 end),
    区段1次数 = sum(case when 区段 = 2 and 载重 between 11 and 20 then 1 else 0 end)
from
union
select 
    载重 = '20以上',
    区段1次数 = sum(case when 区段 = 1 and 载重 > 20 then 1 else 0 end),
    区段1次数 = sum(case when 区段 = 2 and 载重 > 20 then 1 else 0 end)
from

解决方案 »

  1.   

    select AA.dd as 载重,AA.t1 as 区段1次数 ,AA.t2 as 区段2次数
    from 
    (select '1-10' as dd, sum(case 区段 when 1 then 1 else 0 end) as t1, 
                          sum(case 区段 when 2 then 1 else 0 end) as t2
       from table1 where 载重 <=10 group by 区段union all
    select '11-20'as dd, sum(case 区段 when 1 then 1 else 0 end) as t1, 
                        sum(case 区段 when 2 then 1 else 0 end) as t2
        from table1 where 载重 >10 and 载重 <=20 group by 区段
    union all
    select '20以上'as dd, sum(case 区段 when 1 then 1 else 0 end) as t1, 
                          sum(case 区段 when 2 then 1 else 0 end) as t2
        from table1 where 载重 >20 group by 区段) AA
      

  2.   

    select * from periodselect Weight = '1-10',
    count1 = sum(case Quduan when 1 then 1 else 0 end),count2 = sum(case Quduan when 2 then 1 else 0 end)from period
    where Weight between 1 and 10
    union
    select Weight = '10-20',
    count1 = sum(case Quduan when 1 then 1 else 0 end),count2 = sum(case Quduan when 2 then 1 else 0 end)from period 
    where Weight between 11 and 20
    union
    select Weight = '20 above',
    count1 = sum(case Quduan when 1 then 1 else 0 end),count2 = sum(case Quduan when 2 then 1 else 0 end)from period 
    where Weight between 20 and 100