跳转到内容

聚合函数。

count(distinct …) 函数计算一组值中的唯一值数量。

若要以极少的内存和时间从大型数据集中获得估算结果,可以考虑使用 APPROX_COUNT_DISTINCT。

func.count_distinct(<column>)
func.count_distinct(table.category).alias('unique_categories')
| unique_categories |
|-------------------|
| 2 |
COUNT(distinct <expr> ...)
UNIQ(<expr>)
参数 说明
<expr> 任意表达式,参数个数范围为 [1, 32]

UInt64

创建表并插入示例数据

CREATE TABLE products (
id INT,
name VARCHAR,
category VARCHAR,
price FLOAT
);
INSERT INTO products (id, name, category, price)
VALUES (1, 'Laptop', 'Electronics', 1000),
(2, 'Smartphone', 'Electronics', 800),
(3, 'Tablet', 'Electronics', 600),
(4, 'Chair', 'Furniture', 150),
(5, 'Table', 'Furniture', 300);

查询演示:统计不同类别的数量

SELECT COUNT(DISTINCT category) AS unique_categories
FROM products;

结果

| unique_categories |
|-------------------|
| 2 |