TGViewer
Backend Portal | Программирование Backend Portal | Программирование @backendportal · 16.1K subscribers
Post #3647 1.06K
Главное правило SQL GROUP BY, которое должен знать каждый

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

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

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

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

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

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

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

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

👉 @BackendPortal
More from @backendportal
  1. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
  2. Sep 30, 2026OAuth 2.0 и JWT: в чём разница и почему их не стоит противопоставлять Эти понятия часто пу…
  3. Sep 29, 202610 GitHub-репозиториев по бэкенд-разработке, о которых стоит знать каждому разработчику: •…
  4. Sep 29, 2026🤖 Как устроить ИИ-агента, который не развалится в проде? 6 октября в Архитектурном клубе…
  5. Sep 29, 2026Post #3681
  6. Sep 29, 2026Задача для дата-инженера Что произойдёт при вызове этой функции? 👉 @BackendPortal
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 →