select area,city,
convert(varchar(7),a.saletime,120) as 月份,
sum(saleamount) as 总量,
1.0*sum(saleamount)/(select sum(saleamount) from tablename where
area=a.area and city=a.city
and saletime>=dateadd(month,-12,convert(varchar(7),a.saletime,120)+'-01')
and saletime<dateadd(day,-1,dateadd(month,-11,convert(varchar(7),a.saletime,120)+'-01'))
) as 同比,
1.0*sum(saleamount)/(select sum(saleamount) from tablename where
area=a.area and city=a.city
and saletime>=dateadd(month,-1,convert(varchar(7),a.saletime,120)+'-01')
and saletime<dateadd(day,-1,convert(varchar(7),a.saletime,120)+'-01')
) as 环比
from tablename a
group by
area,city,
convert(varchar(7),a.saletime,120)
select area,city,category,productname,
convert(varchar(7),a.saletime,120) as 月份,
sum(saleamount) as 总量,
1.0*sum(saleamount)/(select sum(saleamount) from tablename where
area=a.area and city=a.city and category=a.category and productname=a.productname
and saletime>=dateadd(month,-12,convert(varchar(7),a.saletime,120)+'-01')
and saletime<dateadd(day,-1,dateadd(month,-11,convert(varchar(7),a.saletime,120)+'-01'))
) as 同比,
1.0*sum(saleamount)/(select sum(saleamount) from tablename where
area=a.area and city=a.city and category=a.category and productname=a.productname
and saletime>=dateadd(month,-1,convert(varchar(7),a.saletime,120)+'-01')
and saletime<dateadd(day,-1,convert(varchar(7),a.saletime,120)+'-01')
) as 环比
from tablename a
group by
area,city,category,productname,
convert(varchar(7),a.saletime,120)