Заказы с деталями из трёх таблиц

Сложная JOIN-запросы

Условие задачи

Таблицы users (id, name, city), orders (id, user_id, created_at, status TEXT), order_items (id, order_id, product_id, quantity, price). Для каждого города посчитайте: количество уникальных покупателей, количество завершённых заказов (status = 'completed'), общую выручку завершённых заказов (SUM quantity * price). Выведите city, unique_buyers, completed_orders, total_revenue. Отсортируйте по total_revenue DESC.

Схема данных

CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, city TEXT);
CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, created_at TEXT, status TEXT);
CREATE TABLE order_items (id INTEGER PRIMARY KEY, order_id INTEGER, product_id INTEGER, quantity INTEGER, price REAL);

Темы

JOIN COUNT DISTINCT SUM GROUP BY MULTI-TABLE

Подсказки

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи