HAVING в MySQL


HAVING – применяется для фильтрации функций и столбцов сгруппированных при помощи GROUP BY указанных в SELECT.

Другими словами применяется для агрегатных функций(COUNT(), MAX() …) и столбцов указанных в выражении SELECT и обработанных GROUP BY. Если нужно использовать что-то, что не указанно в SELECT, то лучше использовать WHERE.

Порядок выполнения такой HAVING в MySQL

  • 1. В SELECT указываем нужные столбцы или агрегатные функции(то с чем будем работать в GROUP BY и HAVING)
  • 2. В GROUP BY пишем по какому столбцу или функции их группируем
  • 3. В HAVING пишем условие фильтровки результата GROUP BY

Применяется последним и не оптимизируется. При использовании не по назначению на больших таблицах будут жуткие тормоза по этому нужно обязательно смотреть анализ EXPLAN.

SELECT COUNT(*) AS `row`, `title` FROM `table` GROUP BY `sort` HAVING `row` > 2;

Здесь мы создаём псевдоним:

COUNT(*) AS `row`

Который в дальнейшем используем в выражении:

HAVING `row` > 2;

Или можно написать идентично:

HAVING COUNT(*) > 2;
Возврат % от покупок

Другие публикации:

Написать комментарий через:

 
               
  • Локальный блог
  •  
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

 
Статусы для соц.сетей на ArtKiev Design Studio