Группировать по (SQL)
А GROUP BY
оператор SQL указывает, что SQL SELECT
Оператор разделяет строки на группы на основе их значений в одном или нескольких столбцах. Обычно группировка используется для применения какой-либо совокупной функции к каждой группе. [1] [2]
Результат запроса с использованием GROUP BY
Оператор содержит одну строку для каждой группы. Это подразумевает ограничения на столбцы, которые могут появляться в связанных SELECT
пункт. Как правило, SELECT
Предложение может содержать только столбцы с уникальным значением для каждой группы. Сюда входят столбцы, которые появляются в GROUP BY
предложение, а также агрегаты, приводящие к одному значению на группу. [3]
Примеры
[ редактировать ]Возвращает список идентификаторов отделов вместе с суммой их продаж на дату 1 января 2000 г.
SELECT DeptID, SUM(SaleAmount) FROM Sales
WHERE SaleDate = '01-Jan-2000'
GROUP BY DeptID
В следующем примере можно спросить: «Сколько единиц было продано в каждом регионе на каждую дату поставки? »:
Сумма единиц | Дата отправки ▼ | |||||
---|---|---|---|---|---|---|
Регион ▼ | 2005-01-31 | 2005-02-28 | 2005-03-31 | 2005-04-30 | 2005-05-31 | 2005-06-30 |
Восток | 66 | 80 | 102 | 116 | 127 | 125 |
Север | 96 | 117 | 138 | 151 | 154 | 156 |
Юг | 123 | 141 | 157 | 178 | 191 | 202 |
Запад | 78 | 97 | 117 | 136 | 150 | 157 |
(пустой) | ||||||
общий итог | 363 | 435 | 514 | 581 | 622 | 640 |
Следующий код возвращает данные приведенной выше сводной таблицы , которая отвечает на вопрос «Сколько единиц было продано в каждом регионе на каждую дату поставки?»:
SELECT Region, Ship_Date, SUM(Units) AS Sum_of_Units
FROM FlatData
GROUP BY Region, Ship_Date
Общие группы
[ редактировать ]К общим функциям группировки ( агрегации ) относятся:
- Count ( выражение ) — количество совпадающих записей (на группу)
- Sum ( выражение ) — суммирование заданного значения (по группе)
- Min ( выражение ) — Минимум заданного значения (на группу)
- Макс ( выражение ) — Максимум заданного значения (на группу)
- Avg ( выражение ) — среднее заданного значения (на группу)
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Оператор SQL GROUP BY» . www.w3schools.com . Проверено 18 сентября 2020 г.
- ^ шкале-мсфт. «GROUP BY (Transact-SQL) — SQL Server» . docs.microsoft.com . Проверено 18 сентября 2020 г.
- ^ «Группировка и агрегирование SQL» . база данныхлекции.com . Проверено 9 декабря 2020 г.
Внешние ссылки
[ редактировать ]