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

时间:2014-05-19 05:50:24

标签: sql sql-server select sum

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

我知道怎么做:

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以提取sum函数来单独对每行的价格求和,而不是仅仅对数量进行求和(由于加法distributive property的加法,这在数学上应该是正常的):< / p>

SELECT   productid,  SUM(UnitPrice * (1 - Discount) * Quantity)
FROM     [Order Details]
GROUP BY ProductID