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

Если в SELECT используются неагрегированные столбцы, убедитесь, что они добавлены в GROUP BY. Это не просто хорошая практика — в некоторых базах данных это обязательное требование.

Почему это важно?

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

В запросе ниже одна строка = одна должность (job_title) внутри конкретного отдела (department). Поэтому и department, и job_title должны присутствовать в GROUP BY.

Если пропустить неагрегированный столбец:

• Некоторые СУБД вернут ошибку
• Другие могут вернуть произвольное значение
• Запрос может «работать» сегодня, но завтра вернуть некорректный результат

Общее правило

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

👉 @SQLPortal
  • 👍 4
  • 💊 1
More from @sqlportal
  1. Oct 5, 2026Знатоки SQL: в каких случаях стоит использовать код A, а в каких — код B? 👉 @SQLPortal
  2. Oct 5, 2026Один из лучших ресурсов по производительности SQL: use-the-index-luke.com 👉 @SQLPortal
  3. Oct 4, 2026Microsoft представила обновления SQL на SQLCon Barcelona 2026 Среди главных направлений —…
  4. Oct 4, 20266 инструментов в закладки бэкенд-разработчику • Hoppscotch — тестирование API и просмотр о…
  5. Oct 3, 2026Post #2122
  6. Oct 3, 2026Вопрос по SQL Посмотрите на запрос: как думаете, какой результат он вернёт и почему? 👉 @S…
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 →