← Назад ко всем вопросам

Какие агрегирующие функции можно использовать с GROUP BY

1️⃣ Как кратко ответить

С GROUP BY можно использовать агрегирующие функции, такие как COUNT(), SUM(), AVG(), MIN(), MAX(), STDDEV(), VARIANCE(). Эти функции позволяют выполнять операции над группами данных, возвращая одно значение для каждой группы.

2️⃣ Подробное объяснение темы

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

Основные агрегирующие функции:

  1. COUNT(): Подсчитывает количество строк в каждой группе. Полезно для определения количества записей в каждой категории.

    SELECT category, COUNT(*) AS total_items
    FROM products
    GROUP BY category;
    
    • SELECT category, COUNT(*) AS total_items: выбирает столбец category и считает количество строк в каждой категории.
    • FROM products: указывает таблицу products.
    • GROUP BY category: группирует строки по значению в столбце category.
  2. SUM(): Суммирует значения в столбце для каждой группы. Используется для получения общей суммы значений.

    SELECT department, SUM(salary) AS total_salary
    FROM employees
    GROUP BY department;
    
    • SELECT department, SUM(salary) AS total_salary: выбирает столбец department и суммирует значения salary для каждой группы.
    • FROM employees: указывает таблицу employees.
    • GROUP BY department: группирует строки по значению в столбце department.
  3. AVG(): Вычисляет среднее значение в столбце для каждой группы. Полезно для нахождения среднего значения.

    SELECT department, AVG(salary) AS average_salary
    FROM employees
    GROUP BY department;
    
    • SELECT department, AVG(salary) AS average_salary: выбирает столбец department и вычисляет среднее значение salary для каждой группы.
    • FROM employees: указывает таблицу employees.
    • GROUP BY department: группирует строки по значению в столбце department.
  4. MIN(): Находит минимальное значение в столбце для каждой группы. Используется для определения наименьшего значения.

    SELECT department, MIN(salary) AS min_salary
    FROM employees
    GROUP BY department;
    
    • SELECT department, MIN(salary) AS min_salary: выбирает столбец department и находит минимальное значение salary для каждой группы.
    • FROM employees: указывает таблицу employees.
    • GROUP BY department: группирует строки по значению в столбце department.
  5. MAX(): Находит максимальное значение в столбце для каждой группы. Используется для определения наибольшего значения.

    SELECT department, MAX(salary) AS max_salary
    FROM employees
    GROUP BY department;
    
    • SELECT department, MAX(salary) AS max_salary: выбирает столбец department и находит максимальное значение salary для каждой группы.
    • FROM employees: указывает таблицу employees.
    • GROUP BY department: группирует строки по значению в столбце department.
  6. STDDEV(): Вычисляет стандартное отклонение значений в столбце для каждой группы. Полезно для анализа разброса данных.

    SELECT department, STDDEV(salary) AS salary_stddev
    FROM employees
    GROUP BY department;
    
    • SELECT department, STDDEV(salary) AS salary_stddev: выбирает столбец department и вычисляет стандартное отклонение salary для каждой группы.
    • FROM employees: указывает таблицу employees.
    • GROUP BY department: группирует строки по значению в столбце department.
  7. VARIANCE(): Вычисляет дисперсию значений в столбце для каждой группы. Используется для анализа вариативности данных.

    SELECT department, VARIANCE(salary) AS salary_variance
    FROM employees
    GROUP BY department;
    
    • SELECT department, VARIANCE(salary) AS salary_variance: выбирает столбец department и вычисляет дисперсию salary для каждой группы.
    • FROM employees: указывает таблицу employees.
    • GROUP BY department: группирует строки по значению в столбце department.

Агрегирующие функции в сочетании с GROUP BY позволяют эффективно анализировать и обобщать данные, что делает их незаменимыми в аналитике и отчетности.

Тема: Базы данных и SQL
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки