| |
| |
| |
| |
| |
|
|
| company: "Демо: Интернет-магазин электроники" |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| terms: |
| выручка: > |
| SUM(orders.amount) WHERE orders.status = 'paid'. |
| Колонка amount есть только в таблице orders, не в order_items. |
| оборот: "SUM(orders.amount) по всем заказам включая отменённые" |
| средний чек: "AVG(orders.amount) WHERE orders.status = 'paid'" |
| топ клиентов: > |
| GROUP BY customers.id, customers.name ORDER BY SUM(orders.amount) DESC LIMIT N. |
| JOIN customers ON orders.customer_id = customers.id WHERE orders.status = 'paid'. |
| топ товаров: > |
| GROUP BY products.name ORDER BY SUM(order_items.quantity) DESC LIMIT N. |
| JOIN order_items ON orders.id = order_items.order_id WHERE orders.status = 'paid'. |
| выручка по товарам: > |
| SUM(order_items.quantity * order_items.price) GROUP BY products.name. |
| Итог позиции считается как quantity * price из order_items. |
| количество заказов: "COUNT(*) FROM orders WHERE status = 'paid'" |
| активный товар: "products.is_active = 1" |
| этот год: "strftime('%Y', orders.order_date) = strftime('%Y', 'now')" |
| прошлый год: "strftime('%Y', orders.order_date) = CAST(strftime('%Y', 'now') - 1 AS TEXT)" |
| этот месяц: "strftime('%Y-%m', orders.order_date) = strftime('%Y-%m', 'now')" |
| конверсия: > |
| CAST(SUM(CASE WHEN status='paid' THEN 1 ELSE 0 END) AS REAL) / COUNT(*) * 100 FROM orders. |
| |
| filters: |
| только_оплаченные: "orders.status = 'paid'" |
| только_активные_товары: "products.is_active = 1" |
|
|
| notes: |
| - "КРИТИЧНО: колонка 'amount' существует ТОЛЬКО в таблице 'orders'. В 'order_items' её НЕТ." |
| - "order_items содержит колонки: id, order_id, product_id, quantity, price. Никакой колонки amount." |
| - "Стоимость позиции заказа = order_items.quantity * order_items.price (отдельной колонки нет)." |
| - "Даты хранятся как TEXT 'YYYY-MM-DD'. Для фильтрации используй BETWEEN или strftime()." |
| - "Статусы заказов: 'paid' (оплачен), 'pending' (ожидает), 'cancelled' (отменён)." |
| - "Связи: orders.customer_id → customers.id, orders.manager_id → managers.id." |
| - "Связи: order_items.order_id → orders.id, order_items.product_id → products.id." |
| - "База данных: SQLite. Функции дат: strftime('%Y', date_col), date('now', '-N days')." |
| - "База содержит данные за 2025-01-01 — 2026-04-30, 8 клиентов, 4 менеджера, 10 товаров." |
|
|