В calls — исходящие звонки абонентов. Если звонок не соединился, duration_sec — NULL.
Найдите номера msisdn, у которых в марте 2026 был хотя бы один соединённый звонок и каждый соединённый звонок длился не дольше 10 секунд. Несоединённые звонки не учитывайте ни в одну сторону. Порядок — по msisdn.
В работе: Антифрод: SIM-карты в модемах-прозвонщиках дают короткие звонки и не говорят дольше нескольких секунд.
Таблицы
calls — одна строка — один исходящий звонок
| Колонка | Тип | Что значит |
|---|---|---|
call_id | int | ключ |
msisdn | text | номер абонента |
started_at | timestamp | начало звонка |
duration_sec | int | длительность, NULL — не соединился |
Пример: данные
calls · 6 строк
| call_id | msisdn | started_at | duration_sec |
|---|---|---|---|
| 1 | 79161234501 | 2026-03-02T10:00:00 | 4 |
| 2 | 79161234501 | 2026-03-02T10:01:00 | 7 |
| 3 | 79161234501 | 2026-03-02T10:02:00 | NULL |
| 4 | 79161234502 | 2026-03-03T12:00:00 | 6 |
| 5 | 79161234502 | 2026-03-03T18:30:00 | 184 |
| 6 | 79161234503 | 2026-03-05T09:15:00 | 10 |
Ожидаемый ответ
| msisdn |
|---|
| 79161234501 |
| 79161234503 |
Как проверяем
Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 5 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
msisdn
Источник: наша задача на данных МТС: длительность исходящих звонков. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.