

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# HLL\$1UNION\$1AGG-Funktion
<a name="HLL_UNION_AGG"></a>

Die Funktion HLL\$1UNION\$1AGG kombiniert mehrere HLL-Skizzen zu einer einzigen, einheitlichen Skizze. Sie verwendet den HyperLogLog (HLL) -Algorithmus, um eine Gruppe von Skizzen zu einer einzigen zu kombinieren. Abfragen können die resultierenden Puffer verwenden, um ungefähre Einzelzahlen mit der Funktion zu berechnen. `hll_sketch_estimate`

## Syntax
<a name="HLL_UNION_AGG-syntax"></a>

```
HLL_UNION_AGG ( expr [, allowDifferentLgConfigK ] )
```

## Argument
<a name="HLL_UNION_AGG-argument"></a>

 *expr*   
Ein `BINARY` Ausdruck, der eine von HLL\$1SKETCH\$1AGG generierte Skizze enthält.

*allowDifferentLgConfigK*  
Ein optionaler BOOLESCHER Ausdruck, der steuert, ob das Zusammenführen von zwei Skizzen mit unterschiedlichen LgConfigK-Werten zulässig ist. Der Standardwert ist `false`.

## Rückgabetyp
<a name="HLL_UNION_AGG-return-type"></a>

Die Funktion HLL\$1UNION\$1AGG gibt einen BINARY-Puffer zurück, der die HyperLogLog Skizze enthält, die als Ergebnis der Kombination der Eingabeausdrücke derselben Gruppe berechnet wurde. Wenn der `allowDifferentLgConfigK` Parameter gleich ist`true`, verwendet die Ergebnisskizze den kleineren der beiden angegebenen Werte. `lgConfigK`

## Beispiele
<a name="HLL_UNION_AGG-examples"></a>

In den folgenden Beispielen wird der Skizzieralgorithmus HyperLogLog (HLL) verwendet, um die eindeutige Anzahl von Werten in mehreren HLL-Skizzen zu schätzen.

Im ersten Beispiel wird die eindeutige Anzahl von Werten in einem Datensatz geschätzt.

```
SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  1
```

Die innere Abfrage erstellt zwei HLL-Skizzen:
+ Die erste SELECT-Anweisung erstellt eine Skizze aus einem einzelnen Wert von 1. 
+ Die zweite SELECT-Anweisung erstellt eine Skizze aus einem anderen Einzelwert von 1, jedoch mit einer Genauigkeit von 20. 

Die äußere Abfrage verwendet die Funktion HLL\$1UNION\$1AGG, um die beiden Skizzen zu einer einzigen Skizze zu kombinieren. Anschließend wendet sie die Funktion HLL\$1SKETCH\$1ESTIMATE auf diese kombinierte Skizze an, um die eindeutige Anzahl von Werten zu schätzen.

Das Ergebnis dieser Abfrage ist die geschätzte eindeutige Anzahl der Werte in der Spalte, d. h. `col` `1` Das bedeutet, dass die beiden Eingabewerte von 1 als eindeutig betrachtet werden, obwohl sie denselben Wert haben.

Das zweite Beispiel beinhaltet einen anderen Präzisionsparameter für die HLL\$1UNION\$1AGG-Funktion. In diesem Fall werden beide HLL-Skizzen mit einer Genauigkeit von 14 Bit erstellt, sodass sie erfolgreich mit dem Parameter kombiniert werden können. `hll_union_agg` `true`

```
SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
    FROM (SELECT hll_sketch_agg(col, 14) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 14) as sketch
            FROM VALUES (1) AS tab(col));
  1
```

Das Endergebnis der Abfrage ist die geschätzte eindeutige Anzahl, was in diesem Fall auch der Fall ist. `1` Das bedeutet, dass die beiden Eingabewerte von 1 als eindeutig betrachtet werden, obwohl sie denselben Wert haben.