Dela via


array_agg mängdfunktion

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 10.4 LTS och senare

Returnerar en matris som består av alla värden i expr gruppen. Den här funktionen är synonym för collect_list mängdfunktion.

Syntax

array_agg ( [ALL | DISTINCT] 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 valfri typ.
  • 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 exkluderas.

Om DISTINCT har angetts samlar funktionen endast in unika värden och är en synonym för collect_set mängdfunktion.

Exempel

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