[英]group by count from left joined table
这是我的查询:
$select d.*,
count(a.id) as delivered
from `dealerships` as d
left join `assignments` as a on (a.id_dealership = d.id)
group by d.id
order by d.name asc
现在,此方法有效,但它正在计算重复的潜在客户。 当我将a.id_lead
添加到分组依据时,它a.id_lead
一切混乱。 assignments
表中有一列名为id_lead
,我希望count()(已delivered
)对由id_lead
分组的分配总数进行计数,以便它忽略具有相同id_lead
多于一行。
你是这个意思吗? :
select d.*,
count(distinct a.id_lead) as delivered
from `dealerships` as d
left join `assignments` as a on (a.id_dealership = d.id)
group by d.id
order by d.name asc
它与查询相同,除了不计算a
的记录总数 ,它只计算a.id_lead
中不同的非空值的a.id_lead
。
(如果这不是您的意思,请进行说明。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.