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 的行。
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
数据库中找不到匹配条目的情况。