WHERE фильтрует строки на этапе выборки данных из таблицы, то есть до группировки. HAVING применяется после группировки и фильтрует уже сгруппированные данные. Если нужно отобрать строки до GROUP BY, используют WHERE, а если после — HAVING. Например, чтобы выбрать группы с количеством элементов больше 2, используют HAVING.
Развёрнутый ответ доступен только зарегистрированным пользователям. Войдите в аккаунт или зарегистрируйтесь.