如何在单个语句中的Northwind数据库的Order Details表中获取每个产品的总销售额?
我知道怎么做:
select productid, UnitPrice * (1 - Discount) * sum(Quantity)
from [Order Details]
group by ProductID,UnitPrice, Discount
我为每个productid获取多行,然后我可以运行另一个查询来为每个productid获得一个总和。 请注意,同一产品的折扣可能会有所不同。
我想在一个SQL语句中完成所有操作。怎么样?
答案 0 :(得分:2)
您可以提取sum
函数来单独对每行的价格求和,而不是仅仅对数量进行求和(由于加法distributive property的加法,这在数学上应该是正常的):< / p>
SELECT productid, SUM(UnitPrice * (1 - Discount) * Quantity)
FROM [Order Details]
GROUP BY ProductID