;with ach as ( select convert(varchar(6),date,112) as date,sum(qty) as qty from tb group by convert(varchar(6),date,112) )select a.date,cast(a.qty*100./nullif(b.qty,0) as decimal(6,2)) pe from ach a join ach b on datediff(mm,b.date+'01',a.date+'01') = 1
select cast( (select sum(收入) from tb where datediff(mm,时间字段,getdate()) = 0)*1.0 / (select sum(收入) from tb where datediff(mm,时间字段,getdate()) = 1)*1.0 as decimal(18,2))
;with ach as
(
select convert(varchar(6),date,112) as date,sum(qty) as qty
from tb
group by convert(varchar(6),date,112)
)select a.date,cast(a.qty*100./nullif(b.qty,0) as decimal(6,2)) pe
from ach a join ach b on datediff(mm,b.date+'01',a.date+'01') = 1
(select sum(收入) from tb where datediff(mm,时间字段,getdate()) = 0)*1.0
/
(select sum(收入) from tb where datediff(mm,时间字段,getdate()) = 1)*1.0
as decimal(18,2))