Pular para o conteúdo

Função de agregação.

A função count(distinct …) calcula o número de valores únicos de um conjunto de valores.

Para obter um resultado estimado a partir de conjuntos de dados de grande dimensão com pouca memória e tempo, considere utilizar APPROX_COUNT_DISTINCT.

func.count_distinct(<column>)
func.count_distinct(table.category).alias('unique_categories')
| unique_categories |
|-------------------|
| 2 |
COUNT(distinct <expr> ...)
UNIQ(<expr>)
Argumentos Descrição
<expr> Qualquer expressão; o número de argumentos situa-se entre 1 e 32

UInt64

Criar uma tabela e inserir dados de exemplo

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);

Exemplo de consulta: contar categorias distintas

SELECT COUNT(DISTINCT category) AS unique_categories
FROM products;

Resultado

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