Описываете структуру таблиц и спрашиваете по-русски, что нужно узнать — Kimi пишет SQL-запрос, объясняет его по шагам и предупреждает о подводных камнях. Получаешь запрос и понимание, как он работает.
Промпт
База [СУБД: PostgreSQL/MySQL/ClickHouse]. Структура таблиц: [ТАБЛИЦЫ И КОЛОНКИ]. Вопрос: [ЧТО НУЖНО УЗНАТЬ, например: выручка по месяцам за год с разбивкой по категориям]. Напиши SQL-запрос. 1) Сначала перескажи, как ты понял задачу, одним абзацем — чтобы я подтвердил. 2) Дай запрос с комментариями к каждому блоку. 3) Предупреди о типичных ловушках: дубли при join, NULL в агрегациях, часовые пояса в датах. 4) Предложи, как проверить результат на адекватность.
Заполнить под себя — промпт обновится выше, пустые поля останутся плейсхолдерами
Пример результата
Пример: PostgreSQL, таблицы orders(id, user_id, amount, status, created_at) и users(id, segment). Вопрос: «средний чек по сегментам за последние 90 дней, только оплаченные». Kimi пересказывает: «считаю AVG(amount) с группировкой по segment, фильтр status='paid' и created_at >= now() - interval '90 days'» — вы подтверждаете. Запрос с комментариями, плюс предупреждение: «если заказ без пользователя, inner join его выкинет — нужен left join?». Проверка: сравнить сумму по сегментам с общей выручкой за период. Совет 1: давайте реальные имена колонок и примеры значений status — «paid» или «оплачен» решает всё. Совет 2: Kimi не видит ваши данные и не выполнит запрос — тестируйте с LIMIT 100 сначала. Совет 3: для ClickHouse и диалектов прямо пишите СУБД — синтаксис оконных функций и дат сильно различается.