# Операции агрегирования

Агрегирующие операции (или агрегатные функции) в базах данных — это такие функции, которые выполняются **не над каждой строкой отдельно**, а сразу над набором строк (группой или всей таблицей), и возвращают одно итоговое значение.

***

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

1. **`COUNT()`** – считает количество строк.

   ```sql
   SELECT COUNT(*) FROM orders;
   ```

   → Сколько всего заказов.
2. **`SUM()`** – сумма значений.

   ```sql
   SELECT SUM(amount) FROM orders;
   ```

   → Общая сумма всех заказов.
3. **`AVG()`** – среднее значение.

   ```sql
   SELECT AVG(salary) FROM employees;
   ```

   → Средняя зарплата сотрудников.
4. **`MIN()`** – минимальное значение.

   ```sql
   SELECT MIN(price) FROM products;
   ```

   → Самый дешёвый товар.
5. **`MAX()`** – максимальное значение.

   ```sql
   SELECT MAX(price) FROM products;
   ```

   → Самый дорогой товар.

***

#### 📌 Агрегация с `GROUP BY`

Обычно агрегаты применяются вместе с группировкой:

```sql
SELECT department, AVG(salary)
FROM employees
GROUP BY department;
```

→ Средняя зарплата по каждому отделу.

***

#### 📌 Агрегация с `HAVING`

Фильтрация по результатам агрегации:

```sql
SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;
```

→ Отделы, где больше 10 сотрудников.

***

🔑 **Итого:** операции агрегирования помогают анализировать данные — считать, суммировать, искать минимум/максимум и находить средние значения.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kaze.gitbook.io/qa-theory/bazy-dannykh/operacii-agregirovaniya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
