На этом шаге мы рассмотрим инструкции GROUP BY и HAVING, а также перечислим основные агрегатные функции.
Инструкция GROUP BY позволяет сгруппировать несколько записей. Эта инструкция особенно полезна при использовании агрегатных функций. В качестве примера добавим одну рубрику и два сайта:
Рис.1. Добавление записей
Теперь выведем количество сайтов в каждой рубрике:
Рис.2. Использование агрегатной функции
Если необходимо ограничить сфуппированный набор записей, то следует воспользоваться инструкцией HAVING. Эта инструкция выполняет те же функции, что и инструкция WHERE, но только для сгруппированного набора. Для примера выведем номера рубрик, в которых зарегистрировано более одного сайта:
Рис.3. Использование инструкции HAVING
В этих примерах мы воспользовались агрегатной функцией COUNT (), которая возвращает количество записей. Рассмотрим агрегатные функции, используемые наиболее часто:
Рис.4. Использование функции COUNT ()
Рис.5. Использование функции MIN ()
Рис.6. Использование функции MAX ()
Рис.7. Использование функции AVG ()
Рис.8. Использование функции SUM ()
Рис.9. Использование функции TOTAL ()
Рис.10. Использование функции GROUP_CONCAT ()
На следующем шаге мы закончим изучение этого вопроса.