Читайте также:
|
|
Оператор GROUP BY (группировать по) служит для группировки записей по значениям одного или нескольких столбцов. Если в SQL-выражении используется оператор WHERE, задающий фильтр записей, то оператор GROUP BY находится и выполняется после него. Для определения, какие записи должны войти в группы, служит оператор HAVING, используемый совместно с GROUP BY. Если оператор HAVING не применяется, то группировке подлежат все записи, отфильтрованные оператором WHERE. Если WHERE не используется, то группируются все записи исходной таблицы. О порядке выполнения операторов уже говорилось в начале.
Допустим, что на основе таблицы о клиентах требуется сгруппировать данные о суммах заказов клиентов по регионам. Для этого можно воспользоваться следующим SQL выражением:
SELECT Регион, Сумма заказа FROM Клиенты
GROUP BY Регион;
результатная таблица: записи с одинаковыми названиями регионов расположены рядом друг с другом (в одной группе).
Чтобы получить таблицу, в которой суммы заказов подытожены по регионам, потребуется использовать итоговую функцию SUM() и группировку по регионам:
SELECT Регион, SUM (сумма_заказа)
FROM Клиенты
GROUP BY Регион;
Здесь в выражении SELECT указаны обычный столбец таблицы Клиенты и итоговая функция SUM(), вычисляющая сумму значений столбца сумма заказа. Поскольку группировка задана по столбцу Регион, То функция SUM (Cума_заказа) вычисляет суммы значений столбца сумма заказа для каждого значения столбца Регион. На рис. показана результатная таблица на фоне исходной таблицы клиенты. Обратите внимание, что в этой таблице названия регионов не повторяются.
Оператор GROUP BY собирает записи в группы и упорядочивает (сортирует) группы по алфавиту (точнее, по ASCII-кодам символов). Это обстоятельство следует иметь в виду перед тем, как принять решение об использовании оператора сортировки ORDER BY.
Дата добавления: 2015-08-09; просмотров: 75 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Лекція 10 | | | Итоговые функции |