TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 18K subscribers
Post #5150 448
Как посчитать книги по жанрам и не перепутать WHERE с HAVING

Возьмите таблицу из шести книг и получите по одной строке на каждый жанр. GROUP BY genre объединит книги одного жанра в группу, а COUNT(*) посчитает строки внутри неё:

SELECT genre, COUNT(*) AS total_books
FROM books
GROUP BY genre;


Затем замените подсчёт на SUM(price) или AVG(price), чтобы найти сумму или среднюю цену книг каждого жанра. Если нужно убрать отдельные книги до группировки, используйте WHERE. Для отбора уже посчитанных групп нужен HAVING, например HAVING COUNT(*) > 1.

В готовом наборе данных и запросов можно повторить примеры в PostgreSQL и проверить частую ошибку: обычное поле в SELECT должно входить в GROUP BY либо обрабатываться функцией вроде COUNT.
  • 👍 1
  • 🆒 1
More from @prog_point
  1. Oct 1, 2026Как сделать прилипающие заголовки списка на CSS Соберите список контактов, в котором буква…
  2. Oct 1, 2026Как извлекать данные из объектов и массивов в JavaScript Деструктуризация создаёт отдельны…
  3. Oct 1, 2026Семь ошибок индексации PostgreSQL и как их проверить Индекс помогает PostgreSQL быстрее на…
  4. Sep 30, 2026Сентябрь, учебный год, сессия не так далеко, как вы думаете. Это всё про вас? Тогда заглян…
  5. Sep 30, 2026Как найти ошибку в Python с подсказкой ИИ, а не готовым ответом Возьмите функцию вычислени…
  6. Sep 30, 2026Как устроен разбор аргументов командной строки в Rust Аргументы командной строки — это пар…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →