sellers — продавцы и их город, reviews — отзывы покупателей с оценкой stars от 1 до 5. Оценки может не быть: отзыв только текстом, stars IS NULL.
Для каждого города, где есть хотя бы один продавец, верните city, sellers — всех продавцов города и sellers_good — сколько из них получили хотя бы один отзыв на 4 или 5 звёзд.
Город без хороших отзывов тоже нужен, с нулём. Порядок — по city.
В работе: Оценка запуска отзывов: в каких городах продавцам уже есть чем похвастаться.
Таблицы
sellers — продавец
| Колонка | Тип | Что значит |
|---|---|---|
seller_id | int | ключ |
city | text | город |
reviews — отзыв на продавца
| Колонка | Тип | Что значит |
|---|---|---|
review_id | int | ключ |
seller_id | int | продавец |
stars | int | 1–5 или NULL |
Пример: данные
sellers · 4 строки
| seller_id | city |
|---|---|
| 1 | Казань |
| 2 | Казань |
| 3 | Казань |
| 4 | Тула |
reviews · 4 строки
| review_id | seller_id | stars |
|---|---|---|
| 10 | 1 | 5 |
| 11 | 1 | 4 |
| 12 | 2 | 2 |
| 13 | 4 | NULL |
Ожидаемый ответ
| city | sellers | sellers_good |
|---|---|---|
| Казань | 3 | 1 |
| Тула | 1 | 0 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
city, sellers, sellers_good
Источник: тестовое аналитика данных (Middle) в Авито, сборник No Data No Growth. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.