ARRAY_AGG (Lakehouse v1)
Die Funktion ARRAY_AGG (auch unter dem Alias LIST bekannt) wandelt alle Werte einer bestimmten Spalte in einem Abfrageergebnis, einschließlich NULL, in ein Array um.
Analyze-Syntax
Abschnitt betitelt „Analyze-Syntax“func.array_agg(<expr>)Analyze-Beispiele
Abschnitt betitelt „Analyze-Beispiele“table.movie_title, func.array_agg(table.rating).alias('ratings')
| movie_title | ratings ||-------------|------------|| Inception | [5, 4, 5] |SQL-Syntax
Abschnitt betitelt „SQL-Syntax“ARRAY_AGG(<expr>)
LIST(<expr>)Argumente
Abschnitt betitelt „Argumente“| Argumente | Beschreibung |
|---|---|
<expr> |
Beliebiger Ausdruck |
Rückgabetyp
Abschnitt betitelt „Rückgabetyp“Gibt ein Array mit Elementen zurück, die denselben Typ wie die ursprünglichen Daten haben.
SQL-Beispiele
Abschnitt betitelt „SQL-Beispiele“Dieses Beispiel zeigt, wie die Funktion ARRAY_AGG verwendet werden kann, um Daten zu aggregieren und in einem praktischen Array-Format darzustellen:
-- Create a table and insert sample dataCREATE TABLE movie_ratings ( id INT, movie_title VARCHAR, user_id INT, rating INT);
INSERT INTO movie_ratings (id, movie_title, user_id, rating)VALUES (1, 'Inception', 1, 5), (2, 'Inception', 2, 4), (3, 'Inception', 3, 5), (4, 'Interstellar', 1, 4), (5, 'Interstellar', 2, 3);
-- List all ratings for Inception in an arraySELECT movie_title, ARRAY_AGG(rating) AS ratingsFROM movie_ratingsWHERE movie_title = 'Inception'GROUP BY movie_title;
| movie_title | ratings ||-------------|------------|| Inception | [5, 4, 5] |