【问题标题】:SQL Server: Grouping calculated column resultsSQL Server:对计算列结果进行分组
【发布时间】:2017-07-31 18:48:46
【问题描述】:

我是 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。 我尝试了在网上找到的不同分组方法(汇总、分组集等),但没有奏效。有人可以帮我完成这项任务吗?谢谢!

【问题讨论】:

    标签: sql sql-server sql-server-2008 sql-server-2012


    【解决方案1】:

    试试这个:

    SELECT OrderID, SUM(Quantity * UnitPrice * (1-Discount)) AS NetTotal
    FROM dbo.[Order Details]
    GROUP BY OrderID
    

    希望对你有所帮助:)

    【讨论】:

    • 哦,这只是输入错误。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 2012-03-12
    • 2013-10-22
    相关资源
    最近更新 更多