You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL查询所有主叫号码均至少拨打过一次电话的日期

问题根因
  • 原有代码中count(*)统计的是单天的总通话记录条数,同一主叫当天多次拨打会被重复计数,导致统计的cnt值高于实际当日去重主叫数量,无法和全表主叫总数匹配。
正确实现代码

核心逻辑是分组统计每个日期下的去重主叫数量,和全表去重主叫总数做对比,数值相等的日期就是符合要求的结果:

SELECT Date
FROM CUSTOMER
GROUP BY Date
HAVING COUNT(DISTINCT CallerPhone) = (SELECT COUNT(DISTINCT CallerPhone) FROM CUSTOMER);

如果需要同时返回当日去重主叫数量可以调整SELECT部分:

SELECT Date, COUNT(DISTINCT CallerPhone) AS daily_caller_cnt
FROM CUSTOMER
GROUP BY Date
HAVING daily_caller_cnt = (SELECT COUNT(DISTINCT CallerPhone) FROM CUSTOMER);
补充说明

这个写法比嵌套子查询的写法更简洁,COUNT(DISTINCT CallerPhone)会自动对当日相同的主叫号码去重,不会受同一主叫当日多次拨打的影响。

内容的提问来源于stack exchange,提问作者Shahir Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:15:05