繁体   English   中英

从左联接表按计数分组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM