根据过滤器获取一个字段的值

Get values of one field on the basis of filter

姓名支付状态

Abc 123 1

Abc 456 0

美国广播公司 852 1

我想得到结果:

ABC,1431(工资总和),975(工资总和Status 为 1)

的基础
Select sum(Pay),CASE WHEN Status=1 THEN SUM(Pay)
From Table
Group by Pay,Status

只需使用 Sumcase statement 之外使用,并从 group by 中删除 paystatus,而不是添加 name,这是有道理的

SELECT Name,
       Sum(Pay),
       Sum(CASE WHEN Status = 1 THEN Pay END)
FROM   Table
GROUP  BY Name
SELECT Name, SUM(Pay), SUM(CASE WHEN Status = 1 THEN Pay END)
FROM Table
GROUP BY Name