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

# avgIf

> avgIf 组合器使用示例

<div id="description">
  ## 描述
</div>

[`If`](/zh/reference/functions/aggregate-functions/combinators#-if) 组合器可应用于 [`avg`](/zh/reference/functions/aggregate-functions/avg)
函数，使用 `avgIf` 聚合组合器函数计算条件为 true 的行中各值的算术平均值。

<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`](/zh/reference/functions/aggregate-functions/avg)
* [`If 组合器`](/zh/reference/functions/aggregate-functions/combinators#-if)
