我想要显示所有拥有count > 5
的城市。我试图将我的结果限制在5以上,但它不起作用。
SELECT
user.city,
Count(user.city) AS cnt
FROM user
Inner Join zip ON zip.zip = user.zip
WHERE cnt > 5
GROUP BY user.city
WHERE cnt > 5 **<--------------- It fails here**
cnt
已在字段列表中定义,为什么不起作用?
答案 0 :(得分:3)
分组时必须使用having cnt > 4
http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.html
答案 1 :(得分:1)
尝试HAVING
SELECT user.city,
COUNT(user.city) AS cnt
FROM user
INNER JOIN zip ON zip.zip = user.zip
GROUP BY user.city
HAVING COUNT(user.city) > 5
答案 2 :(得分:0)
尝试使用HAVING语句:
例如:
select title, AVG(salary)
from employee_data
GROUP BY title
HAVING AVG(salary) > 100000;