Как и зачем использовать оператор MySQL having? Многие даже не знают о существовании такого оператора, как having. А значит и не знают зачем его использовать.

Представьте себе ситуацию, что вам нужно выбрать записи из таблицы SELECT, сгруппировать GROUP BY их по какому-либо полю, но при этом отфильтровать результаты, получив только подходящие под заданные вами условия.

Оператор mysql having используется в запросах выборок SELECT, при использовании агрегатных функций COUNT, MAX и т.д., для фильтрации результатов работы этих функций после группировки результатов через GROUP BY.

Понятнее и проще это понять можно на примере:

SELECT COUNT(*) AS `c`, u_name FROM table_1 GROUP BY `date` HAVING `c`>10

Как видно из кода, для хранения результата функции используется псевдоним COUNT(*) AS `c`, а далее по коду этот псевдоним в операторе HAVING: HAVING `c` > 10.

Думаю, вы вспомните о таком операторе, когда возникнет в нем необходимость, и сможете применить с пользой для работы. Узнайте также PDO MySQL строка подключения.