有sql如下,实现了每月一列,如何将这些列转为行查询呢,请教
select WType,
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='01' then 1 else 0 end) as '1月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='02' then 1 else 0 end) as '2月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='03' then 1 else 0 end) as '3月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='04' then 1 else 0 end) as '4月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='05' then 1 else 0 end) as '5月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='06' then 1 else 0 end) as '6月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='07' then 1 else 0 end) as '7月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='08' then 1 else 0 end) as '8月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='09' then 1 else 0 end) as '9月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='10' then 1 else 0 end) as '10月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='11' then 1 else 0 end) as '11月',
sum(case when substring(convert(varchar(7),FXDate,120),6,2)='12' then 1 else 0 end) as '12月'
from ZangWeiJi where year(FXDate)='2014'
group by WType;
先谢谢老师
------解决思路----------------------
select WType,convert(varchar(7),FXDate,120),6,2) as yf,count(*) as qty
from ZangWeiJi where year(FXDate)='2014'
group by WType,convert(varchar(7),FXDate,120),6,2)
order by WType,yf
------解决思路----------------------
select WType,
cast(month(FXDate) as varchar(10)) + '月' as Months,
count(1) as Cnt
from ZangWeiJi
where FXDate>='2014-1-1'
and FXDate<'2015-1-1'
group by WType,
cast(month(FXDate) as varchar(10)) + '月'