Вопрос проверяет понимание сортировки данных с помощью ORDER BY и агрегации с GROUP BY в SQL.
ORDER BY используется для упорядочивания результирующего набора строк по одному или нескольким столбцам. По умолчанию сортировка происходит по возрастанию (ASC), но можно указать DESC для убывания. Сортировка применяется после всех остальных операций (WHERE, GROUP BY, HAVING).
SELECT name, salary FROM employees ORDER BY salary DESC;Можно сортировать по нескольким столбцам: сначала по отделу, затем по зарплате.
SELECT department, name, salary FROM employees ORDER BY department ASC, salary DESC;GROUP BY группирует строки, имеющие одинаковые значения в указанных столбцах, и позволяет применять агрегатные функции (COUNT, SUM, AVG, MAX, MIN) к каждой группе. Важно: все столбцы в SELECT, не участвующие в агрегации, должны быть указаны в GROUP BY.
SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;Для фильтрации групп используется HAVING (аналог WHERE для групп).
SELECT department, COUNT(*) AS emp_count FROM employees GROUP BY department HAVING COUNT(*) > 5;SQL-запрос выполняется в следующем порядке: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. Это важно понимать для корректного использования.
Вывод: ORDER BY и GROUP BY — фундаментальные инструменты SQL. ORDER BY нужен для упорядочивания вывода, GROUP BY — для агрегации данных по категориям. Их правильное применение позволяет эффективно анализировать и представлять данные.