Zum Inhalt springen

Schätzt die Anzahl der eindeutigen Werte in einem Datensatz mit dem HyperLogLog-Algorithmus.

Der HyperLogLog-Algorithmus liefert mit wenig Speicher und Zeit eine Näherung der Anzahl eindeutiger Elemente. Erwägen Sie den Einsatz dieser Funktion bei großen Datensätzen, bei denen ein geschätztes Ergebnis akzeptabel ist. Im Austausch gegen etwas Genauigkeit ist dies eine schnelle und effiziente Methode, um Anzahlen eindeutiger Werte zu ermitteln.

Für ein exaktes Ergebnis verwenden Sie COUNT_DISTINCT. Weitere Erläuterungen finden Sie unter Beispiele.

func.approx_count_distinct(<expr>)
func.approx_count_distinct(table.user_id).alias('approx_distinct_user_count')
| approx_distinct_user_count |
|----------------------------|
| 4 |
APPROX_COUNT_DISTINCT(<expr>)

Ganzzahl.

Tabelle erstellen und Beispieldaten einfügen

CREATE TABLE user_events (
id INT,
user_id INT,
event_name VARCHAR
);
INSERT INTO user_events (id, user_id, event_name)
VALUES (1, 1, 'Login'),
(2, 2, 'Login'),
(3, 3, 'Login'),
(4, 1, 'Logout'),
(5, 2, 'Logout'),
(6, 4, 'Login'),
(7, 1, 'Login');

Abfragedemo: Anzahl der eindeutigen Benutzer-IDs schätzen

SELECT APPROX_COUNT_DISTINCT(user_id) AS approx_distinct_user_count
FROM user_events;

Ergebnis

| approx_distinct_user_count |
|----------------------------|
| 4 |