SQL服务器:基于多列的添加

时间:2016-01-12 19:50:55

标签: sql sql-server

我有一个名为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

我需要的是一个查询,它会为每个路线计算所有产品的总数量

因此,结果显示路线20160112的产品A的数量为18,产品B的数量为7等,而路线20160113的产品A等为11。

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

你们可以提供的任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:4)

分组行并使用聚合函数

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

答案 1 :(得分:0)

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

不会“GROUP BY”工作吗?

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

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