在我的案例中,如何使用SQL Server进行分组?
我想根据数量值计算数量之和 比如说 我想按ItemNo进行分组,并进行如下计算在我的案例中,如何使用SQL Server进行分组?,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我想根据数量值计算数量之和 比如说 我想按ItemNo进行分组,并进行如下计算 ItemNo Quantity Positive Negative ----------------------------------------- 111 6 8 -2 112 10 10 0 我试过这样做 SELECT ItemNo, Sum(Quantity), C
ItemNo Quantity Positive Negative
-----------------------------------------
111 6 8 -2
112 10 10 0
我试过这样做
SELECT
ItemNo,
Sum(Quantity),
Case when Quantity >= 0 then sum(quantity) else 0 end POSITIVE,
Case when Quantity < 0 then sum(quantity) else 0 end Negative
From
Sales
Group By
ItemNo,
Quantity
我知道这个分组是错误的。我的问题应该是什么
谢谢只要把总数写在你的案例陈述上就行了:
SELECT
ItemNo,
Sum(Quantity),
SUM(Case when Quantity >= 0 then quantity else 0 end) POSITIVE,
SUM(Case when Quantity < 0 then quantity else 0 end) Negative
From
Sales
Group By
ItemNo;
此外,请按从组中删除数量。你是用一个和来聚合数量,所以按它分组也是毫无意义的。只要把这个和放在你的案例陈述周围就行了:
SELECT
ItemNo,
Sum(Quantity),
SUM(Case when Quantity >= 0 then quantity else 0 end) POSITIVE,
SUM(Case when Quantity < 0 then quantity else 0 end) Negative
From
Sales
Group By
ItemNo;
此外,请按从组中删除数量。你是用一个和来聚合数量,所以按它分组也是毫无意义的。如果我有这个名声,我会把这个作为对JNevill答案的评论,但你也会想给数量和一个别名来获得问题中的结果。例如:选择 项目编号:, 数量, SUMCase当数量>=0时,其他数量0结束为正, SUMCase当数量<0时,其他数量0结束为负 从…起 销售额 分组
项目编号 如果我有声誉的话,我会将此作为对JNevill回答的评论,但您也会希望给数量总和一个别名,以获得问题中的结果。例如:选择 项目编号:, 数量, SUMCase当数量>=0时,其他数量0结束为正, SUMCase当数量<0时,其他数量0结束为负 从…起 销售额 分组 项目编号 可能的重复可能的重复