and grouping(地市)=1
then 项目年度+'合计'
else '' end
,地市=case
when grouping(地市)=0
then 地市+'合计'
else '' end
,''
,支持金额=sum(支持金额)
,grouping(项目年度),项目年度 --这里及下面的是排序需要的
,grouping(地市),地市
,grouping(地市)+1
from #t
group by 项目年度,地市 with rollup --这是要生成小计,总计的分组字段
)a
order by s1,s2,s3,s4,s5,支持金额 --s1~s6是防止小计,总计排序错乱需要的,后面的支持金额是其他排序需要的
/*--测试结果
项目名称 项目年度 地市 申请单位 支持金额
---------- -------------- -------------- ---------- -----------
名称2 2004 省直 2公司 300
名称1 2004 省直 1公司 400
省直合计 700
名称3 2004 石家庄 3公司 200
石家庄合计 200
2004合计 900
名称3 2005 石家庄 3公司 100
石家庄合计 100
2005合计 100
总计 1000
(所影响的行数为 10 行)
--*/