> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# avgIf

> Пример использования комбинатора avgIf

<div id="description">
  ## Описание
</div>

Комбинатор [`If`](/ru/reference/functions/aggregate-functions/combinators#-if) можно применить к функции [`avg`](/ru/reference/functions/aggregate-functions/avg),
чтобы вычислить среднее арифметическое значений по строкам, для которых условие истинно,
с помощью функции агрегатного комбинатора `avgIf`.

<div id="example-usage">
  ## Пример использования
</div>

В этом примере мы создадим таблицу для хранения данных о продажах с флагами успешности
и используем `avgIf`, чтобы вычислить среднюю сумму продажи для успешных транзакций.

```sql title="Query" theme={null}
CREATE TABLE sales(
    transaction_id UInt32,
    amount Decimal(10,2),
    is_successful UInt8
) ENGINE = MergeTree
ORDER BY ();

INSERT INTO sales VALUES
    (1, 100.50, 1),
    (2, 200.75, 1),
    (3, 150.25, 0),
    (4, 300.00, 1),
    (5, 250.50, 0),
    (6, 175.25, 1);

SELECT
    avgIf(amount, is_successful = 1) AS avg_successful_sale
FROM sales;
```

Функция `avgIf` вычислит среднее значение только для тех строк, где `is_successful = 1`.
В этом случае будет вычислено среднее для значений 100.50, 200.75, 300.00 и 175.25.

```response title="Response" theme={null}
   ┌─avg_successful_sale─┐
1. │              193.88 │
   └─────────────────────┘
```

<div id="see-also">
  ## См. также
</div>

* [`avg`](/ru/reference/functions/aggregate-functions/avg)
* [`Комбинатор If`](/ru/reference/functions/aggregate-functions/combinators#-if)
