Здавалка
Главная | Обратная связь

SELECT CITY, AVG(Str), AVG(Nalogi)



СПРАВОЧНИК

Ключевое слово 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 могут использоваться только выбранные столбцы (т. е. столбцы из списка ключевого слова SELECT в операторе запроса). Если имя столбца не указано в списке ключевого слова SELECT, то имя этого столбца в выражении ключевого слова GROUP BY использовать нельзя.

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

К функциям группирования — функциям, используемым в выражении ключевого слова GROUP BY для объединения данных в группы, — относятся AVG, MAX, MIN, SUM и COUNT.

SELECT ID, Ulica

FROM Address

GROUP BY Ulica, ID;

Обратите внимание на порядок выбора столбцов и на порядок столбцов в выражении ключевого слова GROUP BY

SELECT ID, SUM(Oplata)

FROM Otchet

GROUP BY Oplata, ID;

Этот оператор SQL возвращает данные столбца ID и сумму по группам зарплат, созданным по величине оплата (Oplata) и табельному номеру (ID).

SELECT SUM(Oplata)

FROM Otchet;

Здесь оператор SQL возвращает сумму всех выплат по оплате из таблицы

SELECT SUM(Oplata)

FROM Otchet

GROUP BY Oplata;

Здесь оператор SQL возвращает суммы по группам, созданным по всем уровням оплаты.

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

SELECT Rastenie, COUNT(*)

FROM Flora

GROUP BY Rastenie;

В следующем примере с помощью функции AVG извлекаются средние значения для роста девочек и роста мальчиков по каждому росту в отдельности.

SELECT Rost, AVG(Rost_M), AVG(Rost_D)

FROM School

GROUP BY Rost;

В следующем примере для группирования данных комбинируется использование нескольких компонентов запроса. Необходимо получить средние значения выплат за страховку и налоги, но только для городов Индианаполис и Уайтленд. Для этого данные группируются по полю CITY. Наконец, отчет упорядочивается сначала по столбцу 2, а затем по столбцу 3, т. е. по средним выплатам за страховку и налоги.

SELECT CITY, AVG(Str), AVG(Nalogi)

FROM Viplaty







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.