2009-09-08 112 views
1

我有类似以下的查询:COUNT()使用WHERE子句和左连接

选择 users.id来自用户的LEFT JOIN销量installations.customer = users.id

我想说的是像“WHERE count(sales.id)> 4” - 这意味着如果用户有超过4个销售与他们联系。我不知道如果我要对这个错误的方式或不虽然

回答

4
select 
    users.id 

from users 

join sales on /* your join condition here */ 

group by users.id 

having count(sales.id) > 4 

这将组中的所有用户销售的,那么只返回有四个以上的记录在sales表的销售。

我没有从上面复制您的连接条件,因为它似乎没有多大意义,因为它引用的表不在您的查询中。

+0

噢我的意思是加盟销售两,这部作品虽然谢谢! – kilrizzy 2009-09-08 19:41:52

0

我想你想与此类似

select users.id, count(sales.id) 
from users 
LEFT JOIN sales ON installations.customer = users.id 
group by users.id 
having count(Sales.id) > 5 
0

你需要“按组”和“具有”条款使用的东西。

尝试

SELECT users.id FROM users LEFT JOIN sales ON installations.customer = users.id GROUP BY users.id HAVING count(sale.id) > 4 

在这里看到更多GROUPBY on W2C