collect_set mängdfunktion

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Returnerar en matris som består av alla unika värden i expr gruppen.

Syntax

collect_set(expr) [FILTER ( WHERE cond ) ]

Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER -satsen.

Argument

  • expr: Ett uttryck av alla typer utom MAP.
  • cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.

Returer

En MATRIS av argumenttypen.

Ordningen på element i matrisen är icke-deterministisk. NULL-värden undantas.

Exempel

> SELECT collect_set(col) FROM VALUES (1), (2), (NULL), (1) AS tab(col);
 [1,2]

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