Построение SQL-запроса с count (), где count ()> 1 - PullRequest
4 голосов
/ 06 января 2012

Если у меня есть таблица, в которой есть повторяющиеся идентификаторы, как я могу подсчитать, сколько раз один и тот же идентификатор появляется в таблице и отображать только записи с числом больше 1?

Я пробовал:

SELECT COUNT(ID) AS myCount FROM myTbl
WHERE myCount > 1 GROUP BY ID

Но там написано myCount неверное имя столбца. Может кто-нибудь показать мне, что я делаю не так?

1 Ответ

11 голосов
/ 06 января 2012

Вам необходимо использовать ключевое слово HAVING :

SELECT COUNT(ID) AS myCount FROM myTbl
GROUP BY ID
HAVING COUNT(ID) > 1

Из MSDN:

Указывает условие поиска для группы или агрегата. Иметь может использоваться только с оператором SELECT. HAVING обычно используется в Предложение GROUP BY. Когда GROUP BY не используется, HAVING ведет себя как ГДЕ оговорка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...