Ответ
Агрегатные функции в SQL выполняют вычисления над набором значений и возвращают одно результирующее значение. Они часто используются с оператором GROUP BY для группировки данных.
Основные функции:
COUNT(): Подсчитывает количество строк.COUNT(*)считает все строки, аCOUNT(column)— строки, гдеcolumnне равенNULL.SUM(): Вычисляет сумму всех значений в числовом столбце.AVG(): Вычисляет среднее значение в числовом столбце.MAX()/MIN(): Находят максимальное и минимальное значение в столбце.GROUP_CONCAT()(MySQL) илиSTRING_AGG()(PostgreSQL): Объединяет значения из нескольких строк в одну строку с указанным разделителем. Очень полезна для получения списков связанных сущностей в одном запросе.
Пример использования в Go:
// Запрос для получения средней зарплаты и количества сотрудников по отделам
rows, err := db.Query(`
SELECT department, AVG(salary), COUNT(*)
FROM employees
GROUP BY department
`)
if err != nil {
log.Fatal(err)
}
// ... дальнейшая обработка результатаВ NoSQL базах данных, таких как MongoDB, похожая функциональность достигается с помощью Aggregation Pipeline и операторов $group, $sum, $avg и т.д.