Помощь с запросом выбора количества

0

Я хочу показать все города, у которых есть 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
    Вы можете распечатать ошибку?
Теги:
mysql-error-1111

3 ответа

3

вы должны использовать having cnt > 4 при группировке

http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.html

  • 0
    +1: Кроме того, GROUP BY / HAVING - самое раннее, что псевдоним столбца можно использовать в MySQL (и SQL Server), но ORDER BY - самое раннее для стандартного SQL.
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
0

Попробуйте использовать оператор HAVING:

Например:

select title, AVG(salary)
from employee_data
GROUP BY title 
HAVING AVG(salary) > 100000;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню