2012-08-17 27 views
1

我有一個查詢,我選擇提交給每個應用程序的用戶數。使用價值在哪裏設置語句

SELECT c.*, count(p.id) people 
FROM users p 
LEFT JOIN apps c 
ON c.id = p.app 
WHERE c.status='1' 
GROUP BY p.app 
ORDER BY c.id DESC 

但是,我只想選擇少於50人的人。我怎樣才能做到這一點?

我試過WHERE c.status='1' AND people < 50但它沒有工作,它說這是一個無效的列。我如何才能選擇人數少於50的值?

謝謝

回答

3

使用HAVING。它的行爲如同WHERE,但其用途是用於聚合列。

SELECT c.*, count(p.id) people 
FROM users p 
LEFT JOIN apps c 
ON c.id = p.app 
WHERE c.status='1' 
GROUP BY p.app 
HAVING count(p.id) < 50 
ORDER BY c.id DESC 
+0

非常好的工作,謝謝! :) – Jordan 2012-08-17 01:59:07

+0

不客氣@約旦 – 2012-08-17 02:00:28