double arrow

Ключевое слово GROUP BY

Сортировка и группирование данных

Примеры

Следующая инструкция демонстрирует использование функций SUM(), AVG(), MIN() и MAX():

SELECT SUM (BUDGET), AVG (BUDGET), MIN (BUDGET), MAX (BUDGET) FROM DEPARTMENT WHERE HEAD_DEPT = 100;

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

Основными на этом уроке будут следующие темы.

  • Зачем группировать данные?
  • Выражение GROUP BY
  • Функции группирования значений
  • Использование итоговых функций
  • Группирование по столбцам
  • GROUP BY в сравнении сORDER BY
  • Выражение HAVING

Зачем группировать данные?

Группирование данных – это размещение данных в столбцах с повторяющимися значениями в определенном логичном порядке. Например, в базе данных содержится информация о служащих. Служащие могут жить в разных городах, но многие из них живут в одном городе. Вполне вероятно, что вам может понадобиться информация по каждому конкретному городу и живущих там служащих. Для этого вы группируете информацию о служащих по городам – и соответствующий отчет готов!

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

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

Ключевое слово GROUP BY используется в операторе SELECT для того, чтобы объединять повторяющиеся значения в группы. Ключевое слово GROUP BY должно следовать за выражением WHERE и предшествовать ключевому слову ORDER BY.

Вот какая должна быть последовательность ключевых слов в операторе, выполняющем запрос:

SELECT FROM WHERE GROUP BY ORDER BY

Ключевое слово GROUP BY должно следовать за условиями в выражении ключевого слова WHERE и предшествовать ключевому слову ORDER BY, если последнее имеется.

SELECT столбец1, столбец2

FROM таблица1, таблица2

WHERE условия

GROUP BY столбец1, столбец2

ORDER BY столбец1, столбец2

В следующих разделах рассматривается множество примеров использования ключевого слова GROUP BY в самых разных ситуациях.

[ GROUP BY [ ALL ] group_by_expression [ ,...n ]

[ WITH { CUBE | ROLLUP } ]

]


Сейчас читают про: