TGViewer
SQL Portal | Базы Данных SQL Portal | Базы Данных @sqlportal · 14K subscribers
Post #1527 2.5K
Правило SQL про GROUP BY, которое должен знать каждый

Если ты выбираешь в SELECT неагрегированные колонки, добавь их в GROUP BY. Это не просто хорошая практика, в некоторых СУБД без этого будет ошибка.

Почему это важно? Потому что GROUP BY определяет, что именно значит одна строка результата. Базе нужно понимать, какое единственное значение положить в каждую ячейку этой строки.

В примере выше одна строка = должность (job_title) внутри отдела (department).

Поэтому и department, и job_title обязаны быть в GROUP BY.

Если неагрегированную колонку не добавить:
❌часть баз сразу упадет с ошибкой
❌другие молча вернут случайные значения
❌запрос может "работать" сегодня и врать завтра

Общее правило: Каждая колонка в SELECT должна быть функционально зависима от GROUP BY. Если внутри группы у колонки может быть несколько значений, она не может появляться в SELECT, пока:

- ты не добавил ее в GROUP BY, или
- не завернул в агрегатную функцию.

👉 @SQLPortal
  • 👍 6
  • ❤ 1
More from @sqlportal
  1. Oct 16, 2026Масштабирование базы данных: 6 подходов, которые стоит знать Рост данных и трафика требует…
  2. Oct 16, 2026💬👨‍💻🐍💩🤖🤖🐧👩‍💻🧑‍💻👋🦀 Дождались! Ребята сделали крутейший канал про IT новой эпо…
  3. Oct 16, 2026Практические уроки для Backend, Data Engineering и DevOps Площадка с пошаговыми туториалам…
  4. Oct 15, 2026SQL проще изучать, если разделить его по задачам • Определять структуру таблиц: CREATE, AL…
  5. Oct 15, 2026Git пригодится и тем, кто пишет SQL Храните запросы, миграции и схемы БД в репозитории: та…
  6. Oct 14, 2026Дубликаты в SQL: способ зависит от задачи • DISTINCT убирает повторяющиеся сочетания выбра…
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 →