我是SQL Server的新手,并且正在尝试通过使用Northwind数据库为自己创建任务来学习。当我试图编写一个查询时,我已经碰壁了,这会导致给我整个订单的净总价值。
dbo.[Order Details]
有三列我需要相乘以获得总(Quantity * UnitPrice * (1 - Discount))
。它为特定OrderID
的每个产品提供了总价值。所以我按特定顺序为每个产品获得一行。
这就是它的样子:
OrderID UnitPrice Quantity Discount NetTotal
----------- --------------------- -------- ------------- -------------
10248 9,80 10 0 98
10248 14,00 12 0 168
10248 34,80 5 0 174
10249 18,60 9 0 167,4
正如你可以看到每一行都是一个产品,我希望得到一行=一个OrderID,就像这样:
OrderID NetTotal
----------- -------------
10248 266
10249 312
10250 194
正如您所看到的每一行都是一个产品,我希望得到一行=一个OrderID。 我尝试了在网上找到的不同分组方法(Rollup,Grouping Sets等),但它没有用。可以请任何人帮助我完成这项任务吗?谢谢!
答案 0 :(得分:0)
试试这个:
SELECT OrderID, SUM(Quantity * UnitPrice * (1-Discount)) AS NetTotal
FROM dbo.[Order Details]
GROUP BY OrderID
我希望对你有所帮助:)。