Delen via


approx_count_distinct statistische functie

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Retourneert het geschatte aantal afzonderlijke waarden in expr de groep.

De implementatie maakt gebruik van de compacte versie van het HyperLogLog++-algoritme (HLL++), een state of the art kardinaliteitschattingsalgoritme.

Resultaten zijn nauwkeurig binnen een standaardwaarde van 5%, die is afgeleid van de waarde van de maximale relatieve standaarddeviatie, hoewel dit kan worden geconfigureerd met de relativeSD parameter zoals hieronder wordt vermeld.

Syntaxis

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

Deze functie kan ook worden aangeroepen als een vensterfunctie met behulp van de OVER component.

Argumenten

  • expr: kan van elk type zijn waarvoor gelijkwaardigheid is gedefinieerd.
  • relativeSD: Definieert de maximaal toegestane relatieve standaarddeviatie.
  • cond: Een optionele Boole-expressie die de rijen filtert die worden gebruikt voor aggregatie.

Retouren

EEN BIGINT.

Voorbeelden

> 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