Скажем, у меня есть таблицаВыполняет ли групповой процесс, требуя агрегатной функции для команды выбора?
InspectLog (идентификатор пользователя, attr1, attr2)
Я хочу знать идентификатор пользователя из пользователей, проверяемых более чем в 5 раз.
Вот что я понял, до сих пор:
SELECT I.userid
FROM InspectLog I
GROUP BY I.userid
HAVING Count(*) >5;
Мой вопрос, как я видел много примеров там, когда having
используется они также называют Count()
в избранной инструкции, как так ,
SELECT I.userid, Count(*) AS c
FROM InspectLog I
GROUP BY I.userid
HAVING Count(*)>5;
Требуется ли having
использовать агрегатную функцию в начале в избранной инструкции? Будет ли выход тем же. Из того, что я получаю, выход будет отличаться наличием дополнительного c-столбца в этом случае. Но будет ли граф() работать с HAVING без первого?
Нет, вам не нужно выбирать счетчик(). Но почему вы спрашиваете нас, почему бы не попытаться выяснить, что произойдет? – jarlh
Если вас интересует точный номер, вы проецируете счет, иначе нет. Это похоже на WHERE, вам не нужно проецировать столбец, используемый в WHERE. – dnoeth