想要统计所选日期用户的呼叫次数,但只获取计数值大于 1 的行

问题描述 投票:0回答:1
select a.admin_id, count(1) as count 
from admin a 
left outer join telecalling tc 
on a.admin_id=tc.called_by 
where a.is_active='yes' 
    and tc.calling_date='2023-11-19' 
group by a.admin_id;

我想要统计用户在所选日期的呼叫次数。

admin_id
1 5
2 空或0

但我只得到计数值大于 1 的行。

mysql join left-join
1个回答
-1
投票
SELECT a.admin_id, COALESCE(COUNT(tc.called_by), 0) AS count
FROM admin a
LEFT OUTER JOIN telecalling tc ON a.admin_id = tc.called_by AND tc.calling_date = '2023-11-19'
WHERE a.is_active = 'yes'
GROUP BY a.admin_id;

此查询中使用 COALESCE 函数将 NULL 值替换为 0。LEFT OUTER JOIN 保证所有管理记录都包含在结果中,而 COALESCE 函数则处理在

telecalling
数据库中找不到匹配条目的情况。

© www.soinside.com 2019 - 2024. All rights reserved.