小编ovi*_*ixb的帖子

按多列分组的聚合函数

我有一张包含以下列的表:ClientID、OrderID、ProductID、Quantity,每个 ProductID 在每个 OrderID 中仅出现一次,并且每个 OrderID 仅对应一个 ClientID。

样本数据:

ClientID  OrderID  ProductID  Quantity
1         100      25         10
1         100      30         20
1         101      27         10
1         101      30         10
1         102      27         30
2         103      27         10
2         104      15         10
Run Code Online (Sandbox Code Playgroud)

我需要执行以下操作:在按 ClientID 和 ProductID 分组时,我需要对其他列应用聚合函数,以便结果集包含每个 ClientID 的最低 OrderID 以及每个 ClientID 的每个 ProductID 的数量列的总和。结果集的行数等于每个 ClientID 的不同 ProductID 的数量,并且每行的 OrderID = 每个 ClientID 的最低 OrderID,无论 ProductID 是多少。

期望的结果:

ClientID  OrderID  ProductID  Quantity
1         100      25         10
1         100      30         30
1 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server group-by aggregate aggregate-functions

2
推荐指数
1
解决办法
4595
查看次数