Чат открывается по объявлению (chats), сообщения — в messages, sender = buyer или seller. Некоторые продавцы включили автоприветствие, и их сообщение может стоять в чате раньше покупательского.
Время ответа — от первого сообщения покупателя до первого сообщения продавца, отправленного строго после него. Чаты без такого ответа не участвуют в медиане.
Для каждой категории, где есть чаты, верните category, answered_chats — число отвеченных чатов и median_minutes — медиану времени ответа в минутах с одним знаком (NULL, если отвеченных нет). Порядок — по category.
В работе: Бейдж «Отвечает около часа» на карточке и сравнение категорий по скорости продавцов.
Таблицы
chats — один чат по объявлению
| Колонка | Тип | Что значит |
|---|---|---|
chat_id | int | ключ |
listing_id | int | объявление |
category | text | категория объявления |
buyer_id | int | покупатель |
seller_id | int | продавец |
messages — сообщения в чатах
| Колонка | Тип | Что значит |
|---|---|---|
message_id | int | ключ |
chat_id | int | чат |
sender | text | buyer / seller |
sent_at | timestamp | время отправки |
Пример: данные
chats · 4 строки
| chat_id | listing_id | category | buyer_id | seller_id |
|---|---|---|---|---|
| 1 | 501 | Мебель | 11 | 91 |
| 2 | 502 | Мебель | 12 | 92 |
| 3 | 503 | Мебель | 13 | 93 |
| 4 | 504 | Детская одежда | 14 | 94 |
messages · 9 строк
| message_id | chat_id | sender | sent_at |
|---|---|---|---|
| 1 | 1 | buyer | 2026-06-01T10:00:00 |
| 2 | 1 | seller | 2026-06-01T10:05:00 |
| 3 | 2 | buyer | 2026-06-01T11:00:00 |
| 4 | 2 | seller | 2026-06-01T11:30:00 |
| 5 | 2 | buyer | 2026-06-01T11:31:00 |
| 6 | 3 | buyer | 2026-06-01T12:00:00 |
| 7 | 3 | seller | 2026-06-01T20:00:00 |
| 8 | 4 | buyer | 2026-06-02T09:00:00 |
| 9 | 4 | seller | 2026-06-02T09:12:00 |
Ожидаемый ответ
| category | answered_chats | median_minutes |
|---|---|---|
| Детская одежда | 1 | 12 |
| Мебель | 3 | 30 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
category, answered_chats, median_minutes
Источник: на данных Авито: сообщения покупатель–продавец. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.