【问题标题】:SQL server: Addition based on multiple columnsSQL server:基于多列的加法
【发布时间】:2016-01-13 05:03:53
【问题描述】:

我有一个名为 Demands 的订单信息表,其中的数据如下所示:

Invoice | Product | Quantity | Route
————————|—————————|——————————|——————————
2254619 | A       | 10       | 20160112
2254619 | B       | 5        | 20160112
2254619 | C       | 4        | 20160112
2254619 | D       | 7        | 20160112
2254619 | E       | 3        | 20160112
2254808 | A       | 8        | 20160112
2254808 | B       | 2        | 20160112
2254808 | C       | 9        | 20160112
2254808 | D       | 0        | 20160112
2254808 | E       | 11       | 20160112
2254902 | A       | 7        | 20160113
2254905 | A       | 4        | 20160113

我需要的是一个查询,它将计算每个 Route 的所有 Products 的总 Quantity

因此,结果将显示 Route 20160112 的产品 A 数量为 18,产品 B 的数量为 7,依此类推,Route 20160113 的产品 A 数量为 11,依此类推。

这将适用于多条路线和许多不同的产品。

如果你们能提供任何帮助,我们将不胜感激。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    分组行并使用聚合函数

    SELECT Route, Product, SUM(Quantity)
    FROM   Demands
    GROUP BY Route, Product
    

    【讨论】:

    • 做到了。谢谢!
    【解决方案2】:

    哎呀,我错过了上一个明显和我一模一样的帖子。

    “GROUP BY”不起作用吗?

    SELECT Product, Route, SUM(Quantity) FROM table GROUP BY Product, Route;
    

    SUM() 适用于由 Product 和 Route 定义的“组”的记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2021-05-17
      • 2013-03-15
      • 2020-06-23
      相关资源
      最近更新 更多