Напиши SQL-запрос по задаче
Помогает получить корректный SQL-запрос из описания задачи и схемы таблиц, объясняет логику, отдельно отмечает допущения и не выдумывает отсутствующие поля.
1 Готовый промпт
Выступи в роли разработчика баз данных и помоги написать SQL-запрос. СУБД: PostgreSQL. Задача: """ Показать все категории и количество опубликованных промптов в каждой, включая категории без промптов. Отсортировать по количеству по убыванию. """ Схема таблиц: """ Categories: Id, Name Prompts: Id, CategoryId, Status """ Требования к ответу: 1. Сначала кратко сформулируй, какие таблицы и связи нужны для решения. 2. Напиши готовый SQL-запрос под указанную СУБД. 3. Используй только таблицы и столбцы, которые есть в предоставленной схеме. 4. Не придумывай отсутствующие связи. Если нужной информации нет, прямо укажи это. 5. После запроса объясни логику `JOIN`, фильтрации, группировки и сортировки, если они используются. 6. Если запрос может вернуть дубли или неправильно обрабатывать `NULL`, проверь этот риск отдельно. 7. Если есть несколько разумных решений, сначала покажи самое простое и читаемое. 8. Не добавляй индексы или сложные оптимизации без явной причины; при необходимости вынеси их в отдельный раздел. Сохраняй имена таблиц и столбцов точно такими, как в схеме.
Как использовать
Опишите задачу, укажите СУБД и вставьте схему нужных таблиц. Нейросеть напишет запрос и объяснит его логику.
2 Настроить под себя
Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.
3 Результат настройки
Заполните конструктор выше,
и здесь появится готовый промпт.
4 Примеры результата
Текстовый пример
```sql
SELECT c."Name", COUNT(p."Id") AS "PromptCount"
FROM "Categories" c
LEFT JOIN "Prompts" p
ON p."CategoryId" = c."Id"
AND p."Status" = 'Published'
GROUP BY c."Id", c."Name"
ORDER BY "PromptCount" DESC;
```
`LEFT JOIN` сохраняет категории без опубликованных промптов, а условие по статусу применяется только к присоединяемым строкам.
5 Комментарии
0