SQL中的条件求和

Dil*_*nte 1 sql aggregate-functions

我正在寻找一种在select语句中添加创建求和的方法,该语句以另一个字段为条件.最好用一个例子来解释.

假设我们在表中有以下值

EmployeeID     SalesQty      Verified
0025           34            Y
0040           56            Y
0040           17            N
0040           44            Y
Run Code Online (Sandbox Code Playgroud)

然后我想返回以下内容,其中总销售额是EmployeeId上所有salesqty值的总和,而经过验证的销售总额只有那些经过验证的记录是Y.

EmployeeID      TotalSales      VerfifiedSales
0025            34              34
0040            117             100
Run Code Online (Sandbox Code Playgroud)

Krz*_*tof 6

试试这个:

SELECT 
    EmployeeID, 
    SUM(SalesQty) AS TotalSales, 
    SUM(CASE WHEN Verified = 'Y' THEN SalesQty ELSE 0 END) AS VerfifiedSales
FROM
    Tbl
GROUP BY
    EmployeeID
Run Code Online (Sandbox Code Playgroud)