

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 近似计数\_区分函数
<a name="approx-count-distinct"></a>

AXPROXT COUNT\_DISTINCT 提供了一种估计列或数据集中唯一值数量的有效方法。

## 语法
<a name="approx-count-distinct-syntax"></a>

```
approx_count_distinct(expr[, relativeSD])
```

## Arguments
<a name="approx-count-distinct-arguments"></a>

 *expr*   
要估计其唯一值数量的表达式或列。  
它可以是单列、复杂表达式或列组合。

*RelativesD*  
一个可选参数，用于指定估计值所需的相对标准差。  
它是一个介于 0 和 1 之间的值，表示估计值的最大可接受相对误差。RelativeSD 值越小，估计值越准确，但速度越慢。  
如果未提供此参数，则使用默认值（通常在 0.05 或 5% 左右）。

## 返回值
<a name="approx-count-distinct-returns"></a>

返回 HyperLogLog \+\+ 的估计基数。relativeSD 定义允许的最大相对标准差。

## 示例
<a name="approx-count-distinct-example"></a>

以下查询估计`col1`列中唯一值的数量，相对标准差为 1% (0.01)。

```
SELECT approx_count_distinct(col1, 0.01)
```

以下查询估计该`col1`列中有 3 个唯一值（值 1、2 和 3）。

```
SELECT approx_count_distinct(col1) FROM VALUES (1), (1), (2), (2), (3) tab(col1)
```