Доля рынка продавцов по городам
// Условие
Для каждого города покупателя определи топ-3 продавцов по выручке и их долю рынка в этом городе. Выведи: buyer_city, seller_name, seller_revenue, city_total_revenue, market_share_pct (округли до 1), seller_rank. Покажи только топ-3 по каждому городу. Отсортируй по buyer_city, seller_rank.
// Таблицы
sandbox.users
user_id | INT |
registration_date | DATE |
acquisition_channel | VARCHAR(20) |
platform | VARCHAR(10) |
city | VARCHAR(50) |
is_premium | BOOLEAN |
sandbox.orders
order_id | INT |
user_id | INT |
order_date | TIMESTAMP |
amount | NUMERIC(10,2) |
status | VARCHAR(20) |
delivery_days | INT |
promo_code | VARCHAR(20) |
sandbox.order_items
item_id | INT |
order_id | INT |
product_id | INT |
quantity | INT |
unit_price | NUMERIC(10,2) |
sandbox.products
product_id | INT |
product_name | VARCHAR(100) |
category | VARCHAR(30) |
price | NUMERIC(10,2) |
seller_id | INT |
sandbox.sellers
seller_id | INT |
seller_name | VARCHAR(100) |
registration_date | DATE |
city | VARCHAR(50) |
// Что тренирует
market_sharetop-N per groupRANK5-table JOIN
// Решение
🔒
Решение, подсказки и автопроверка этой задачи — по подписке Premium. Вместе с ней открываются все премиум-задачи трёх тренажёров: SQL, pandas и A/B.
★ Открыть Premium