我的table
user_name id status calls
===========================================
apple 21 BadAd 2
apple 21 Lead 5
apple 21 DNC 6
apple 21 pajs 2
orange 34 Lead 9
orange 34 disks 3
orange 34 BadAd 8
orange 34 pajs 5
我的尝试
SELECT sum(calls) FROM (SELECT y.calls, y.user_name, y.status FROM stats
INNER JOIN
(select user_name, status, sum(calls) as calls
from stats WHERE status = ('BadAD', 'Lead', 'DNC')
group by user_name, status) y
ON y.user_name = stats.user_name
GROUP BY y.status) w WHERE w.user_name = y.username
我的问题:我正在尝试添加仅包含特定calls
字段值(status
)并且具有相同user_name的行的WHERE status = ('BadAD', 'Lead', 'DNC')
字段中的值。所以它看起来像这样。
user_name id status calls
===========================================
apple 21 BadAd 13 (BadAd 2 + Lead 5 + DNC 6)
orange 34 Lead 17 (etc..)
答案 0 :(得分:2)
select user_name, id, min(status), sum (calls)
from yourtable
where status in ('BadAD', 'Lead', 'DNC')
group by user_name, id