Агрегатные функции в SQL используются для выполнения вычислений над несколькими строками столбца таблицы и возвращают одно итоговое значение. Эти функции необходимы для суммирования данных, создания отчетов и проведения статистического анализа. В этом уроке рассмотрены самые распространённые агрегатные функции с практическими примерами на базе данных Sakila.
COUNT()
— Считает количество строкСинтаксис:
COUNT(expression)
Пример:
SELECT COUNT(*) AS total_payments
FROM payment;
Результат: Возвращает общее количество строк в таблице payment
.
SUM()
— Вычисляет сумму значенийСинтаксис:
SUM(expression)
Пример:
SELECT SUM(amount) AS total_amount
FROM payment;
Результат: Возвращает сумму значений столбца amount
.
AVG()
— Вычисляет среднее значениеСинтаксис:
AVG(expression)
Пример:
SELECT AVG(amount) AS average_amount
FROM payment;
Результат: Возвращает среднее значение столбца amount
.
MIN()
— Находит минимальное значениеСинтаксис:
MIN(expression)
Пример:
SELECT MIN(amount) AS min_amount
FROM payment;
Результат: Возвращает наименьшее значение в столбце amount
.
MAX()
— Находит максимальное значениеСинтаксис:
MAX(expression)
Пример:
SELECT MAX(amount) AS max_amount
FROM payment;
Результат: Возвращает наибольшее значение в столбце amount
.
COUNT(customer_id)
, чтобы узнать, сколько клиентов в базе данных.SELECT COUNT(customer_id) AS total_customers
FROM customer;
SUM(amount)
с GROUP BY staff_id
, чтобы увидеть продажи по каждому сотруднику.SELECT staff_id, SUM(amount) AS staff_total
FROM payment
GROUP BY staff_id;
AVG(amount)
с GROUP BY customer_id
.SELECT customer_id, AVG(amount) AS avg_payment
FROM payment
GROUP BY customer_id;
Агрегатные функции SQL — мощный инструмент для анализа и обобщения данных. Освоив COUNT
, SUM
, AVG
, MIN
и MAX
, вы сможете создавать информативные отчеты и получать ценные инсайты из вашей базы данных. Практикуйтесь с этими функциями на примерах из базы Sakila для закрепления навыков.