В listings — активные объявления, в blocked_accounts — решения модерации о блокировке продавца. Если аккаунт удалили раньше, чем разобрали жалобу, seller_id в блокировке пустой.
Посчитайте, сколько объявлений в каждой категории у продавцов, которых нет среди заблокированных. Верните category, listings, порядок — по category. Категории, где не осталось объявлений, не выводите.
В работе: Чистка выдачи после волны блокировок: сколько объявлений реально остаётся в каталоге.
Таблицы
listings — одна строка — одно активное объявление
| Колонка | Тип | Что значит |
|---|---|---|
listing_id | int | ключ |
seller_id | int | продавец |
category | text | категория |
price_rub | int | цена |
blocked_accounts — решения о блокировке; у одного продавца их может быть несколько
| Колонка | Тип | Что значит |
|---|---|---|
block_id | int | ключ |
seller_id | int | продавец, NULL — аккаунт удалён |
reason | text | причина |
Пример: данные
listings · 6 строк
| listing_id | seller_id | category | price_rub |
|---|---|---|---|
| 1 | 10 | Авто | 890000 |
| 2 | 10 | Авто | 1250000 |
| 3 | 11 | Недвижимость | 5400000 |
| 4 | 12 | Электроника | 23990 |
| 5 | 13 | Электроника | 7500 |
| 6 | 14 | Авто | 640000 |
blocked_accounts · 3 строки
| block_id | seller_id | reason |
|---|---|---|
| 1 | 11 | фейковые фото |
| 2 | NULL | мошенничество |
| 3 | 13 | спам |
Ожидаемый ответ
| category | listings |
|---|---|
| Авто | 3 |
| Электроника | 1 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
category, listings
Источник: наша задача на данных Авито: блокировки продавцов. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.