SQL Агрегатные функции Группировка
Агрегатные функции
Эти функции можно сочетать с фильтрацией данных.
Количество машин в базе данных
Максимальная цена машины
Группировка
Средняя стоимость машин каждой марки
Добавим условие ид модели =1 или 4
Группировка с having
Выведем модели, у которых средняя стоимость больше 300000р
1.65M
Category: databasedatabase

SQL Агрегатные функции. Группировка

1. SQL Агрегатные функции Группировка

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

Функция
Count()
Min()
Max()
Avg()
Sum()
Описание
Подсчёт кол-ва строк (не учитываются
строки, у которых в указанном столбце есть
NULL-значения
Подсчёт минимального значения в столбце
Подсчёт максимального значения в столбце
Подсчёт среднего значения в столбце
Подсчёт суммы значений в столбце

3. Эти функции можно сочетать с фильтрацией данных.

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

4.

5. Количество машин в базе данных

6. Максимальная цена машины

7. Группировка

А если нам нужно будет, например, посчитать
среднюю стоимость машин каждой модели? В
таком случае нам придётся писать столько
разных запросов, сколько моделей у нас есть.
Это ещё более неудобно. Для подобного
расчёта нам необходимо сгруппировать данные
по моделям и посчитать среднее в каждой
такой группе.

8.

9. Средняя стоимость машин каждой марки

10. Добавим условие ид модели =1 или 4

11. Группировка с having

В SQL можно накладывать дополнительные
условия на результаты агрегатных функций.
Для
этого
HAVING.
используется
предложение
Важно запомнить следующее: условия,
накладываемые на результаты агрегатных
функций, НЕЛЬЗЯ указывать в блоке WHERE.

12. Выведем модели, у которых средняя стоимость больше 300000р

13.

К сожалению, здесь нельзя указать
псевдоним, но с другой стороны, когда мы
пишем avg(price) во второй раз, то 2 раза
функция выполняться не будет.
English     Русский Rules