2009-09-08 113 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