create table #test
(
time datetime,
money int
)
insert into #test values('2018-03-01',100),('2018-03-01',100),('2018-09-01',100)
select * from(
select case when GROUPING(DATEPART(MONTH,time))=1 then '合计' else
convert(varchar(2),DATEPART(MONTH,time))+'月' end as mon,
SUM(money) as [money]
from #test
where DATEPART(YEAR,time)='2018'
group by DATEPART(MONTH,time)
with rollup
) a
pivot
(
sum(money)
for mon in([1月],[2月],[3月],[4月],[5月],[6月],[7月],[8月],[9月],[10月],[11月],[12月],[合计])
)bsql server with rollup+pivot 实现小计+行转列 实例
最新推荐文章于 2025-10-29 12:51:19 发布
本文通过创建临时表并插入数据的方式演示了如何使用SQL进行数据聚合及Pivot操作,具体展示了按月份汇总金额并展示总计的过程。
320

被折叠的 条评论
为什么被折叠?



