# Учебный CSV и пять запросов

Все данные вымышлены. Файл содержит 8 строк, 7 разных order_id, один повтор order_id=1005 и один пропуск amount.

Запусти DuckDB CLI из папки с учебными файлами. Сначала посмотри первые строки: `SELECT * FROM 'sales.csv' LIMIT 5;`.
В интерактивной консоли выполняй нужный файл командой `.read 01_totals.sql`, заменяя имя для остальных запросов.

Ожидаемые результаты:

| Файл | Результат |
| --- | --- |
| 01_totals.sql | row_count=8, unique_orders=7, total=595 |
| 02_top_categories.sql | Tools=280; Courses=250; Books=65 |
| 03_missing.sql | Строка order_id=1006, amount=NULL |
| 04_duplicates.sql | order_id=1005, copies=2 |
| 05_export.sql | Новый summary.csv с тремя категориями |

Суммы здесь включают обе строки order_id=1005. SUM пропускает NULL, но не удаляет дубли. Правило очистки зависит от смысла данных.
Запрос 05_export.sql создаёт summary.csv и может перезаписать файл с таким именем: используй учебную папку и выбери другое имя, если оно уже занято.

На своём файле проверь разделитель, заголовок и типы столбцов. Команда: `DESCRIBE SELECT * FROM 'sales.csv';`.

[DuckDB CLI](https://duckdb.org/docs/stable/clients/cli/overview.html), [CSV](https://duckdb.org/docs/stable/data/csv/overview.html), [экспорт](https://duckdb.org/docs/stable/guides/file_formats/csv_export.html).
