Агрегация: GROUP BY, HAVING, COUNT/SUM

Скрыть список уроков

Возможности группировки и фильтрации в конце запроса, а также типовые вычисления количества и суммы

SQL

13. IoT - приёмка данных

Одним запросом без GROUP BY вывести четыре числа: всего строк, из них с заполненным значением, различных значений и среднее показание.
Поля результата
rows_total, rows_with_value, distinct_values, avg_value
Список таблиц
Ваш запрос
Исходные таблицы

readings

ПолеКомментарий
reading_idзамер
sensor_idдатчик
valueпоказание (часть NULL)

SQL

14. Доставка еды

Вывести города с количеством заказов и выручкой, оставив только те, где больше 100 заказов и средний чек выше 2000.
Поля результата
city, orders_cnt, revenue, avg_check
Список таблиц
Ваш запрос
Исходные таблицы

orders

ПолеКомментарий
order_idзаказ
cityгород
courier_idкурьер
order_dateдата
amountсумма

SQL

15. Логистика - отправления

По каждому клиенту одной строкой: всего отправлений, из них доставлено, и суммарная стоимость только доставленных.
Поля результата
client_id, total_cnt, delivered_cnt, delivered_cost
Список таблиц
Ваш запрос
Исходные таблицы

shipments

ПолеКомментарий
shipment_idотправление
client_idклиент
statuscreated/in_transit/delivered/returned
weight_kgвес
costстоимость

SQL

16. Digital-реклама

Вывести по каждому каналу суммарные показы, клики и CTR в процентах, округлив до 2 знаков.
Поля результата
channel, impressions, clicks, ctr_pct
Список таблиц
Ваш запрос
Исходные таблицы

ad_stats

ПолеКомментарий
stat_dateдата
campaign_idкампания
channelканал
impressionsпоказы
clicksклики
costзатраты
conversionsконверсии

SQL

17. Медицина - больница

Вывести все отделения с количеством врачей, включая отделения, где врачей нет.
Поля результата
dept_id, dept_name, doctors_cnt
Список таблиц
Ваш запрос
Исходные таблицы

departments

ПолеКомментарий
dept_idотделение
dept_nameназвание

doctors

ПолеКомментарий
doctor_idврач
dept_idотделение
nameимя