[英]Need to add Grand Total for Pivot Column in SQL Server
我有这个查询,按预期工作正常,但是现在我想添加总计,并且不确定在哪里添加列A和列B。有人可以帮忙吗!
select *
from
(
select f_Parameter, _company_code,ISNULL(Convert(numeric(18,2),f_value),0) as f_value ,f_Sort_Order ,convert(varchar(11), f_Mis_day,103) as f_Mis_day
from TEST with(NOLOCK) where convert(date, f_Mis_day,103) = CONVERT(date,getdate()-1,103)
) src
pivot
(
SUM(f_value)
for f_company_code in ([A], [B])
) piv order by f_Sort_Order;
输出:
f_Parameter f_Sort_Order f_Mis_day A B
------------------------------------------------------------------------
Consumption Amount in INR 1 26/02/2018 10925.80 24495.10
Transaction Count 2 26/02/2018 5.00 9.00
预期产量:
f_Parameter f_Sort_Order f_Mis_day A B Total
--------------------------------------------------------------------------------------------
Consumption Amount in INR 1 26/02/2018 10925.80 24495.10 35420.90
Transaction Count 2 26/02/2018 5.00 9.00 14.00
由于您只寻找很少的公司代码,因此可以使用条件聚合方法。
Declare @date date = cast(dateadd(day, -1, getdate()) as date)
SELECT
f_Parameter, f_Mis_day,
SUM(CASE WHEN f_company_code = 'A' THEN f_value END) [A],
SUM(CASE WHEN f_company_code = 'B' THEN f_value END) [B],
SUM(f_value) Total
FROM table t
WHERE f_Mis_day = @date
GROUP BY f_Parameter, f_Mis_day
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.