是否可以使用GROUPING SETS
汇总日期,月份和年份,其中显示日期并将其分组为月份和年份,并显示月份和年份的值而不是{{1 }}?
以下是示例数据,以及我尝试使用分组设置
null
以下是查询返回的内容(左)和我想要完成的内容(右)
答案 0 :(得分:5)
您可以使用:
;WITH cte AS (
select
productLine,
employeeId,
salesDate,
mon=month(salesdate),
yr=year(salesdate),
salesTotal
from #tbl_data
)
select
productLine,
employeeId,
salesDate,
mon,
yr ,
sum(salesTotal) as salesTotal
from cte
group by grouping sets
(
(productLine, employeeId, salesDate, yr)
,(productLine, employeeId, yr)
,(productLine)
,(productLine, mon, yr)
);
<强> Rextester Demo 强>