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