[英]Sum of columns using join
SELECT
td.EstimatedTotalAmount_Car,
AVG(tdca.EstimatedTotalAmount) AS policy_saving
FROM Company_Reporting td
INNER JOIN Company_Car_Archive tdca
ON tdca.VehClassSize = td.VehClassSize_Car
AND tdca.VendorName != td.VendorName_Car
AND tdca.USER_SEARCH_ID = td.SEARCH_ID_Car
WHERE td.Company_id = 12
AND td.CHECKOUT_STS = 1
AND td.Check_Type = 3
AND td.policy_violate_flag = 0
GROUP BY td.ID
上面的SQL返回下面的输出。
EstimatedTotalAmount_Car policy_saving 55.86 75.197856 55.86 75.197856 170.83 244.070000 143.66 132.120000 171.96 131.007272 222.66 226.162725 97.03 79.554001 56.61 74.213999
但是我想要单个记录中两列的总和。
sum(EstimatedTotalAmount_Car): 974.47 sum(policy_saving):1037.523709
我该如何实现?
您可以在外部查询中执行此操作
select sum(EstimatedTotalAmount_Car),
sum(policy_saving)
from(
/** your query */
) t
只需包装您当前的查询并对两列求和:
SELECT
SUM(EstimatedTotalAmount_Car) AS grand_total,
SUM(policy_saving) AS sum_policy_saving
FROM
(
SELECT
td.EstimatedTotalAmount_Car,
AVG(tdca.EstimatedTotalAmount) AS policy_saving
FROM Company_Reporting td
INNER JOIN Company_Car_Archive tdca
ON tdca.VehClassSize = td.VehClassSize_Car AND
tdca.VendorName != td.VendorName_Car AND
tdca.USER_SEARCH_ID = td.SEARCH_ID_Car
WHERE
td.Company_id = 12 AND
td.CHECKOUT_STS = 1 AND
tgd.Check_Type = 3 AND
td.policy_violate_flag = 0
GROUP BY td.ID
) t;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.