Russian Belarusian English German Japanese Ukrainian

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

SELECT Post, COUNT(Post) FROM Employee WHERE Birthday BETWEEN "1.7.1950" AND "31.7.1967" GROUP BY Post

Для каждой даты из указанного периода выводится количество записей, в которых она встречается. Если не выполнить группирование, то в набор данных попадут все записи, а при использовании группирования все даты для полученного набора данных уникальны. Функция COUNT выводит для каждой группы (сформированной по полю даты) число записей в группе. Полученный набор данных будет иметь следующий вид:

Post COUNT (Post)
бухгалтер 1
вед. нс 1
зав. лаб. 1
мл. нс 2
нс 1

Совместно с операндом GROUP BY можно использовать операнд HAVING, с помощью которого задаются дополнительные условия группирования записей.

Пример запроса:

SELECT Post, COUNT(Post) FROM Employee WHERE Birthday BETWEEN "1.7.1950" AND "31.7.1967" GROUP BY Post HAVING COUNT(Post) > 1

Полученный набор данных будет иметь следующий вид:

Post COUNT (Post)
мл. нс 2

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

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту