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

62. Серии нераспознанных запросов к ассистенту

Сложная

В asr_requests — голосовые запросы к ассистенту. recognized = false — речь не распознана, ассистент переспросил.

Для каждого устройства найдите самую длинную серию нераспознанных запросов подряд (в порядке requested_at, при равном времени — по request_id). Если таких серий несколько, берите самую раннюю.

Верните устройства, где серия не короче 3: device_id, max_streak, streak_start (время первого запроса серии). Порядок — по max_streak по убыванию, затем по device_id.

В работе: Поиск колонок с плохим микрофоном или шумной комнатой: три переспроса подряд — и пользователь бросает колонку.

Таблицы

asr_requests — голосовые запросы

КолонкаТипЧто значит
request_idintключ
device_idintустройство
requested_attimestampвремя
recognizedbooleanраспознан ли запрос

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

asr_requests · 19 строк

request_iddevice_idrequested_atrecognized
112026-09-10T19:00:00True
212026-09-10T19:00:20False
312026-09-10T19:00:35False
412026-09-10T19:00:50False
512026-09-10T19:01:10True
612026-09-10T19:05:00False
712026-09-10T19:05:20False
822026-09-10T08:00:00False
922026-09-10T08:00:10False
1022026-09-10T08:00:30True
1122026-09-10T08:10:00False
1222026-09-10T08:10:15False
1322026-09-10T08:10:30False
1422026-09-10T08:10:45False
1532026-09-11T12:00:00False
1632026-09-11T12:00:10True
1732026-09-11T12:00:20False
1832026-09-11T12:00:30True
1932026-09-11T12:00:40False

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

device_idmax_streakstreak_start
242026-09-10T08:10:00
132026-09-10T19:00:20
Как проверяем Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
device_id, max_streak, streak_start
пропуски и островаоконные функциитоп-N в группе

Источник: на данных SberDevices: распознавание голосовых запросов. Условие пересказано своими словами.

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