当一列 = 'Accepted' 时,如何对一列求和 (SQL)



如果一列符合要求,我目前正在寻求对一列求和。

在这种情况下,如果[状态]="已接受"货件,我想对[重量]的总和求和。我到处找过,没有多大进展。这是我尝试过的一个例子:

CASE WHEN [Status:  Accepted, Pending, Rejected] = 'ACCEPTED' 
THEN SUM(([Weight (lbs)]))  END ) AS ACCEPT_WEIGHT

casesum()的参数,如下所示:

SUM(CASE WHEN [Status: Accepted, Pending, Rejected] = 'ACCEPTED' THEN [Weight (lbs)] 
END) AS ACCEPT_WEIGHT

如果要确保该值永远不会NULL,请使用ELSE子句:

SUM(CASE WHEN [Status: Accepted, Pending, Rejected] = 'ACCEPTED' THEN [Weight (lbs)] 
ELSE 0
END) AS ACCEPT_WEIGHT

你需要 sum(( 超出案例条件,例如:

sum( CASE WHEN [Status:  Accepted, Pending, Rejected] = 'ACCEPTED' 
THEN [Weight (lbs)] ELSE 0  END ) AS ACCEPT_WEIGHT

可能是这样的:

SELECT SUM(CASE WHEN T.[Status] = 'ACCEPTED' THEN T.[Weight (lbs)] ELSE 0  END ) AS ACCEPT_WEIGHT FROM YOURTABLE AS T

希望这有帮助!

最新更新