Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Предложение GROUP BY (применение агрегатных функций)




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

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

При наличии в операторе SELECT фразы GROUP BY каждый элемент списка в предложении SELECT должен иметь единственное значение для всей группы.

Более того, предложение SELECT может включать только следующие типы элементов: имена полей, итоговые функции, константы и выражения, включающие комбинации перечисленных выше элементов.

Синтаксис

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

Аргументы

ALL - Включает все группы и результирующие наборы (даже не имеющие строк), которые удовлетворяют условию поиска заданного в предложении WHERE.

Если задан аргумент ALL, для сводных столбцов групп, не удовлетворяющие условию поиска, возвращаются значения NULL.

group_by _ expression - выражение, по которому выполняется группирование. Аргумент group_by_expression также называется столбцом группирования.

Аргумент group_by expression может быть столбцом или нестатистическим выражением, которое ссылается на столбец, возвращаемый предложением FROM.

Псевдоним столбца, который определяется в списке выбора, не может использоваться для указания столбца группирования.

 

Столбцы типа text, ntext и image нельзя использовать в аргументе group_by_expression.

 

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

Агрегатные функции:

Агрегатные функции вычисляют одиночное значение для всей группы таблицы. Список этих функций представлен в таблице.

Агрегатные функции
Функция Результат
COUNT Количество строк или непустых значений полей, которые выбрал запрос
SUM Сумма всех выбранных значений данного поля
AVG Среднеарифметическое значение всех выбранных значений данного поля
MIN Наименьшее из всех выбранных значений данного поля
MAX Наибольшее из всех выбранных значений данного поля

 

Агрегатные функции используются подобно именам полей в операторе SELECT, но с одним исключением: они берут имя поля как аргумент.

 

С функциями SUM и AVG могут использоваться только числовые поля. С функциями COUNT, MAX и MIN могут использоваться как числовые, так и символьные поля.

 

При использовании с символьными полями MAX и MIN будут транслировать их в эквивалент ASCII кода и обрабатывать в алфавитном порядке.

Применение символа * в качестве аргумента функции COUNT означает подсчет всех строк в группе.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...