Я использую DB2 для проекта и ищу, в какой группе меньше всего членов, без использования функции min . Моя идея состоит в том, чтобы найти все группы, а затем вычесть любую группу, в которой больше членов из какой-либо другой группы, оставив меня в группе, в которой не больше членов, чем в любой другой группе, т.е.
Пока у меня есть
SELECT DISTINCT P.group as Group, count(P.id) as Count
FROM People P
EXCEPT
SELECT P.group, count(P.id)
FROM People P, People O
WHERE count(P.cid) > count(O.cid);
Со схемой для таких людей, как
create table People (
group varchar(25) not null,
id smallint not null,
);
Я получаю следующую ошибку:
SQL0119N Выражение, начинающееся с «CLUB», указанного в предложении SELECT, предложении HAVING или предложении ORDER BY, не указано в предложении GROUP BY или в выражении SELECT, предложении HAVING или предложении ORDER BY с функцией столбца и без Предложение GROUP BY указано. SQLSTATE = 42803
Если бы вы могли указать, что я делаю неправильно или правильный формат для такого запроса, это было бы очень полезно!