如何在单个语句中的Northwind数据库的Order Details表中获取每个产品的总销售额?

问题描述 投票:3回答:1

如何在单个语句中的Northwind数据库的Order Details表中获取每个产品的总销售额?

我知道怎么做:

select productid,  UnitPrice * (1 - Discount) * sum(Quantity) 
  from [Order Details]
    group by ProductID,UnitPrice, Discount

我为每个productid获得了多行,然后我可以运行另一个查询来为每个productid获得一个总和。请注意,同一产品的折扣可能不同。

我想在一个SQL语句中完成所有操作。怎么样?

sql sql-server select sum
1个回答
2
投票

你可以提取你的sum函数来单独地对每一行的价格求和,而不是仅仅总和数量(这应该在数学上是正确的,因为distributive property乘法加法):

SELECT   productid,  SUM(UnitPrice * (1 - Discount) * Quantity)
FROM     [Order Details]
GROUP BY ProductID
© www.soinside.com 2019 - 2024. All rights reserved.