Программирование

Напиши SQL-запрос по задаче

Помогает получить корректный SQL-запрос из описания задачи и схемы таблиц, объясняет логику, отдельно отмечает допущения и не выдумывает отсутствующие поля.

Автор: PromptingGo Средний Язык: ru Просмотры: 1 Копирования: 0 Есть настройка
Теги промпта
Средняя оценка
/ 5
Голосов: 0
Войти, чтобы оценить

1 Готовый промпт

Выступи в роли разработчика баз данных и помоги написать SQL-запрос.

СУБД: PostgreSQL.
Задача:
"""
Показать все категории и количество опубликованных промптов в каждой, включая категории без промптов. Отсортировать по количеству по убыванию.
"""

Схема таблиц:
"""
Categories: Id, Name
Prompts: Id, CategoryId, Status
"""

Требования к ответу:

1. Сначала кратко сформулируй, какие таблицы и связи нужны для решения.
2. Напиши готовый SQL-запрос под указанную СУБД.
3. Используй только таблицы и столбцы, которые есть в предоставленной схеме.
4. Не придумывай отсутствующие связи. Если нужной информации нет, прямо укажи это.
5. После запроса объясни логику `JOIN`, фильтрации, группировки и сортировки, если они используются.
6. Если запрос может вернуть дубли или неправильно обрабатывать `NULL`, проверь этот риск отдельно.
7. Если есть несколько разумных решений, сначала покажи самое простое и читаемое.
8. Не добавляй индексы или сложные оптимизации без явной причины; при необходимости вынеси их в отдельный раздел.

Сохраняй имена таблиц и столбцов точно такими, как в схеме.
Как использовать
Опишите задачу, укажите СУБД и вставьте схему нужных таблиц. Нейросеть напишет запрос и объяснит его логику.

2 Настроить под себя

Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.

Синтаксис SQL различается между СУБД.
Укажите фильтры, сортировку и ожидаемый результат.
Не передавайте реальные секреты или персональные данные.

Поля со звёздочкой обязательны. Необязательные части исчезнут из результата, если оставить их пустыми.

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
Комментариев пока нет. Будьте первым, кто обсудит этот промпт.