Aller au contenu

Fonction d’agrégation.

La fonction count(distinct …) calcule le nombre de valeurs uniques d’un ensemble de valeurs.

Pour obtenir une estimation sur de grands jeux de données avec peu de mémoire et de temps, envisagez d’utiliser APPROX_COUNT_DISTINCT.

func.count_distinct(<column>)
func.count_distinct(table.category).alias('unique_categories')
| unique_categories |
|-------------------|
| 2 |
COUNT(distinct <expr> ...)
UNIQ(<expr>)
Arguments Description
<expr> Toute expression ; le nombre d’arguments est compris entre 1 et 32

UInt64

Créer une table et insérer des données d’exemple

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

Exemple de requête : compter les catégories distinctes

SELECT COUNT(DISTINCT category) AS unique_categories
FROM products;

Résultat

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