我正在对表进行左连接,以获取我们今天生成的潜在顾客数量以及我们称这些潜在顾客多少次。我认为最好的方法是左联接,所以我写了以下查询:
set /?
但是问题在于,如果在SELECT
COUNT(rad.phone_number) as lead_number, rals.lead_source_name as source, COUNT(racl.phone_number) as calls, SUM(case when racl.contacted = 1 then 1 else 0 end) as contacted
FROM reporting_app_data rad
LEFT JOIN reporting_app_call_logs racl ON rad.phone_number = racl.phone_number, reporting_app_lead_sources rals
WHERE DATE(rad.created_at) = CURDATE() AND rals.list_id = rad.lead_source
GROUP BY rad.lead_source;
表中,同一电话号码有多个条目(因此一个电话号码当天被多次调用),lead_number(我想要以计算当日按lead_source分组的潜在客户数)等于有多少次致电。因此,LEFT表中的计数等于RIGHT表中的计数。
我该如何编写一个SQL查询来获取潜在客户数量和每个潜在客户来源的致电总数?
答案 0 :(得分:2)
尝试COUNT(DISTINCT expression)
换句话说,将COUNT(rad.phone_number)
更改为COUNT(DISTINCT rad.phone_number)