[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-sql-dlya-chego-ispolzuetsya-operator-group-by":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},895,"dlya-chego-ispolzuetsya-operator-group-by",25,"sql","SQL","🗃️","Для чего используется оператор GROUP BY?","`GROUP BY` группирует строки результата по одинаковым значениям в указанных столбцах и позволяет применять агрегатные функции (`COUNT`, `SUM`, `AVG`, `MIN`, `MAX`) к каждой группе. Без `GROUP BY` агрегатная функция применяется ко всему набору данных и возвращает одну строку.\n\n```sql\n-- Количество сотрудников и средняя зарплата по отделам\nSELECT department, COUNT(*) AS emp_count, AVG(salary) AS avg_salary\nFROM employees\nGROUP BY department;\n```\n\nПосле `GROUP BY` в `SELECT` можно указывать только столбцы, перечисленные в `GROUP BY`, и агрегатные функции. Попытка добавить другой столбец (например, `name`) приведёт к ошибке, потому что для группы из нескольких строк неизвестно, какое именно имя выбрать. PostgreSQL строго следит за этим правилом, в то время как MySQL в режиме `ONLY_FULL_GROUP_BY=OFF` может допустить такие запросы, возвращая произвольное значение из группы.\n\n> **На собеседовании:** важно объяснить ограничение на столбцы в `SELECT` при использовании `GROUP BY`. Частая ошибка — добавить в `SELECT` столбец, которого нет в `GROUP BY` и который не обёрнут в агрегатную функцию.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Для чего используется оператор ORDER BY? — Gymterview","`ORDER BY` упорядочивает результат запроса по значениям одного или нескольких столбцов. Без `ORDER BY` порядок строк в результате не гарантирован — СУБД может в","`ORDER BY` упорядочивает результат запроса по значениям одного или нескольких столбцов. Без `ORDER BY` порядок строк в р",[7,13],"`ORDER BY` упорядочивает результат запроса по значениям одного или нескольких столбцов. Без `ORDER BY` порядок строк в результате не гарантирован — СУБД может вернуть их в любом порядке, который окажется наиболее эффективным.",true]