SQL: Как вернуть любую часть, которая встречается более одного раза - PullRequest
1 голос
/ 20 декабря 2010

У меня следующий запрос, который возвращает следующую ошибку: Агрегат может не отображаться в предложении WHERE, если он не входит в подзапрос, содержащийся в предложении HAVING или списке выбора, а агрегируемый столбец является внешней ссылкой.

ВЫБРАТЬ деталь из деталей, где количество (деталь)> 1

Как я могу переписать его, чтобы вернуть деталь, которая появляется более одного раза.

Ответы [ 3 ]

2 голосов
/ 20 декабря 2010

Вам необходимо использовать предложения GROUP BY и HAVING, например:

SELECT part
FROM Parts
GROUP BY part
HAVING COUNT(*) > 1
0 голосов
/ 20 декабря 2010

попробуйте это:

select part from parts group by part having count(part) > 1

0 голосов
/ 20 декабря 2010

Прекрасная возможность для редко используемого предложения HAVING:

SELECT Part, Count(Part) as PartCount
FROM Parts
GROUP BY Part
HAVING Count(Parts) > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...