简化查询以获取行的总和

wj8zmpe1  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(328)

我使用以下sql从数据库中获取物流成本:

SELECT country, sum(Costs_Inbound), sum(Costs_Storage), sum(Costs_Outbound),
       (sum(Costs_Inbound) + sum(Costs_Storage) + sum(Costs_Outbound)) as Total
FROM Logistics
GROUP BY country WITH ROLLUP;

这个 SQL Fiddle 与数据库可以在这里找到。
到目前为止,这一切都很好。
现在我想知道是否可以通过引用第一行中的列表达式来简化第二个sum语句,因为正如您所看到的,现在我将第一行中的每个列表达式复制到第二行中。

pb3skfrl

pb3skfrl1#

你可以用一个 SUM() :

SELECT country, SUM(Costs_Inbound), SUM(Costs_Storage), SUM(Costs_Outbound),
       SUM(Costs_Inbound + Costs_Storage + Costs_Outbound) as Total
FROM Logistics
GROUP BY country WITH ROLLUP;

相关问题