Я довольно новичок в SQL, и я пытаюсь сделать что-то вроде этого:
У меня есть таблица с именем Foo
с двумя столбцами в ней: FooId
(первичный ключ) и BarId
(внешний ключ без значения NULL, в котором могут быть повторяющиеся значения).
Я хочу написать запрос, который возвращает BarId
, которые появляются только один раз в Foo
. Я также хочу написать другой запрос, который возвращает BarId
s, которые появляются более чем один раз в Foo
.
Я начал с чего-то вроде этого:
SELECT
BarId,
COUNT(BarId) AS "BarCount"
FROM [Database].[dbo].[Foo]
GROUP BY BarId
Возвращает количество вхождений каждого BarId
. Но как только я пытаюсь добавить предложение WHERE
, я получаю синтаксическую ошибку:
SELECT
BarId,
COUNT(BarId) AS "BarCount"
FROM [Database].[dbo].[Foo]
GROUP BY BarId
WHERE "BarCount" > 1
Я уверен, что это какая-то глупая ошибка, которую я совершаю, не очень хорошо понимая SQL. Что я делаю не так?