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

13. Мартовские объявления без единого просмотра

Лёгкая

В listings — объявления, в views — просмотры карточек. Если объявление удалили из базы, у его старых просмотров views.listing_id обнуляется.

Верните объявления, опубликованные в марте 2026 года (published_at — время по Москве), у которых нет ни одного просмотра: listing_id, title. Порядок — по listing_id.

В работе: Проверка выдачи: если свежие объявления никто не видит, что-то сломалось в поиске или ранжировании.

Таблицы

listings — одна строка — одно объявление

КолонкаТипЧто значит
listing_idintключ
titletextзаголовок
categorytextкатегория
published_attimestampвремя публикации

views — одна строка — один просмотр карточки

КолонкаТипЧто значит
view_idintключ
listing_idintобъявление, NULL если удалено
user_idintкто смотрел
viewed_attimestampвремя просмотра

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

listings · 4 строки

listing_idtitlecategorypublished_at
1Велосипед Stels Navigator 500Спорт2026-03-02T10:15:00
2Диван угловой, ИкеяМебель2026-03-05T18:40:00
3iPhone 13, 128 ГБЭлектроника2026-03-07T09:00:00
4Коляска Tutis 3 в 1Детское2026-03-11T21:05:00

views · 3 строки

view_idlisting_iduser_idviewed_at
115012026-03-02T11:00:00
215022026-03-03T08:20:00
335032026-03-07T09:30:00

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

listing_idtitle
2Диван угловой, Икея
4Коляска Tutis 3 в 1
Как проверяем Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
listing_id, title
антиджойнNULLдаты

Источник: на данных Авито: объявления и просмотры. Условие пересказано своими словами.

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