Field note
Что такое агрегатные функции ?
Что такое агрегатные функции ? Спросят с вероятностью 20%
Агрегатные функции в контексте управления базами данных и SQL — это специальные функции, которые выполняют вычисление над набором значений и возвращают единственный результат. Они часто используются для выполнения математических, статистических и других операций с данными в запросах для анализа и обобщения информации из множества записей.
Основные агрегатные функции:
1️⃣COUNT(): Подсчитывает количество элементов в наборе. Эта функция может использоваться для подсчета количества строк в таблице или количества строк, соответствующих определенным критериям.
✅Пример: SELECT COUNT(*) FROM users; — подсчитывает количество всех строк в таблице users.
2️⃣SUM(): Суммирует числовые значения столбца. Используется для получения общей суммы числовых данных.
✅Пример: SELECT SUM(salary) FROM employees; — считает общую сумму зарплат всех сотрудников.
3️⃣AVG(): Вычисляет среднее значение числовых данных. Эта функция полезна для нахождения среднего значения определенного столбца.
✅Пример: SELECT AVG(price) FROM products; — рассчитывает среднюю цену продукта.
4️⃣MIN() и MAX(): Возвращают минимальное и максимальное значения в столбце соответственно. Эти функции используются для нахождения наименьших и наибольших значений.
✅Пример: SELECT MIN(age), MAX(age) FROM users; — находит минимальный и максимальный возраст среди пользователей.
5️⃣GROUP_CONCAT() (в MySQL) / STRING_AGG() (в PostgreSQL): Склеивают строки из столбца, объединяя их в одну строку с разделителем.
✅Пример (MySQL): SELECT GROUP_CONCAT(username SEPARATOR ', ') FROM users WHERE city = 'New York'; — объединяет имена пользователей из Нью-Йорка через запятую.
Агрегатные функции часто используются в сочетании с оператором GROUP BY, который позволяет группировать строки по одному или нескольким столбцам и применять агрегатные функции к каждой группе отдельно. Это позволяет выполнить более детальный анализ данных.
SELECT department, AVG(salary) AS average_salary FROM employees GROUP BY department;
Этот запрос вычисляет среднюю зарплату по каждому отделу в компании.
Агрегатные функции — мощный инструмент для работы с большими объемами данных, позволяя быстро получать обобщенную информацию о данных, что особенно полезно для отчетов и аналитики.