Операции группировки

Операции группировки в SQL используются для объединения строк в результате запроса на основе значений в одном или нескольких столбцах. Эти операции позволяют проводить агрегацию данных внутри каждой группы. Основная конструкция для группировки данных - это оператор GROUP BY.

  1. GROUP BY:

    • Описание: Оператор GROUP BY используется для группировки результатов запроса по одному или нескольким столбцам.

    • Пример:

      SELECT Department, AVG(Salary) AS AvgSalary
      FROM Employees
      GROUP BY Department;

      В этом примере строки сотрудников группируются по отделам, и для каждого отдела вычисляется средняя зарплата.

  2. HAVING:

    • Описание: Оператор HAVING применяется после GROUP BY и позволяет фильтровать результаты группировки на основе условий.

    • Пример:

      SELECT Department, AVG(Salary) AS AvgSalary
      FROM Employees
      GROUP BY Department
      HAVING AVG(Salary) > 50000;

      В этом примере результаты группируются по отделам, но включаются только те отделы, где средняя зарплата превышает 50 000.

  3. GROUPING SETS:

    • Описание: GROUPING SETS предоставляет возможность выполнять группировку по нескольким наборам столбцов.

    • Пример:

      SELECT Department, JobTitle, AVG(Salary) AS AvgSalary
      FROM Employees
      GROUP BY GROUPING SETS ((Department), (JobTitle), ());

      В этом примере группировка выполняется по отделам, должностям и в целом (без группировки).

  4. ROLLUP:

    • Описание: ROLLUP создает сводные данные, предоставляя всевозможные комбинации группировки.

    • Пример:

      SELECT Department, JobTitle, AVG(Salary) AS AvgSalary
      FROM Employees
      GROUP BY ROLLUP (Department, JobTitle);

      В этом примере выполняется группировка по отделам и должностям, а также предоставляются общие суммы по отделам и общие суммы по всем данным.

Last updated