Войти Регистрация
Data base

72. Медиана первого ответа оператора в чате поддержки

Средняя

В chat_messages — сообщения в чатах поддержки, author = client, operator или bot. Бот отвечает мгновенно, но это не ответ оператора. Иногда оператор пишет первым — например, после звонка.

Время первого ответа — от первого сообщения клиента до первого сообщения оператора после него. Чаты, где клиент ничего не писал, не учитываются.

Для каждого дня (по первому сообщению клиента) верните day, chats, answered и median_min — медиану времени первого ответа в минутах с одним знаком среди отвеченных. Порядок по day.

В работе: SLA поддержки: сколько клиент ждёт живого оператора.

Таблицы

chat_messages — одна строка — одно сообщение

КолонкаТипЧто значит
msg_idintключ
chat_idintчат
authortextclient / operator / bot
sent_attimestampвремя

Пример: данные

chat_messages · 12 строк

msg_idchat_idauthorsent_at
11client2026-02-03T10:00:00
21bot2026-02-03T10:00:05
31operator2026-02-03T10:04:00
42client2026-02-03T11:00:00
52client2026-02-03T11:02:00
62operator2026-02-03T11:10:00
73client2026-02-03T12:00:00
83bot2026-02-03T12:00:03
94operator2026-02-04T09:00:00
104client2026-02-04T09:30:00
114operator2026-02-04T09:36:00
125operator2026-02-04T15:00:00

Ожидаемый ответ

daychatsansweredmedian_min
2026-02-03327
2026-02-04116
Как проверяем Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
day, chats, answered, median_min
медианаподзапросGROUP BYNULL

Источник: на данных Т-Банка: сообщения в чатах поддержки. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.