approx_count_distinct agregační funkce

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí odhadovaný počet jedinečných hodnot ve expr skupině.

Implementace používá hustou verzi algoritmu HyperLogLog++ (HLL++), který představuje špičkový algoritmus odhadu kardinality.

Výsledky jsou přesné v rámci výchozí hodnoty 5 %, která je odvozena od hodnoty maximální relativní směrodatné odchylky, i když je to možné konfigurovat s parametrem relativeSD , jak je uvedeno níže.

Syntaxe

approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]

Tuto funkci lze také vyvolat jako funkci okna pomocí OVER klauzule.

Argumenty

  • expr: Může být jakéhokoli typu, pro který je definována ekvivalence.
  • relativeSD: Definuje maximální povolenou relativní směrodatnou odchylku.
  • cond: Volitelný logický výraz filtrující řádky použité pro agregaci.

Návraty

VELKÝINT.

Příklady

> SELECT approx_count_distinct(col1) FROM VALUES (1), (1), (2), (2), (3) tab(col1);
 3

> SELECT approx_count_distinct(col1) FILTER(WHERE col2 = 10)
    FROM VALUES (1, 10), (1, 10), (2, 10), (2, 10), (3, 10), (1, 12) AS tab(col1, col2);
 3