Zum Inhalt springen

Aggregatfunktion.

Die Funktion count(distinct …) berechnet die Anzahl der eindeutigen Werte in einer Wertemenge.

Um bei großen Datensätzen mit wenig Speicher und Zeit ein geschätztes Ergebnis zu erhalten, erwägen Sie APPROX_COUNT_DISTINCT.

func.count_distinct(<column>)
func.count_distinct(table.category).alias('unique_categories')
| unique_categories |
|-------------------|
| 2 |
COUNT(distinct <expr> ...)
UNIQ(<expr>)
Argumente Beschreibung
<expr> Beliebiger Ausdruck, Anzahl der Argumente im Bereich [1, 32]

UInt64

Tabelle erstellen und Beispieldaten einfügen

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

Abfragedemo: Eindeutige Kategorien zählen

SELECT COUNT(DISTINCT category) AS unique_categories
FROM products;

Ergebnis

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