ARRAY_AGG (Lakehouse v1)
ARRAY_AGG 函数(别名为 LIST)将查询结果中某一列的所有值(包括 NULL)转换为一个数组。
Analyze 语法
Section titled “Analyze 语法”func.array_agg(<expr>)Analyze 示例
Section titled “Analyze 示例”table.movie_title, func.array_agg(table.rating).alias('ratings')
| movie_title | ratings ||-------------|------------|| Inception | [5, 4, 5] |SQL 语法
Section titled “SQL 语法”ARRAY_AGG(<expr>)
LIST(<expr>)| 参数 | 说明 |
|---|---|
<expr> |
任意表达式 |
返回一个数组,其元素与原始数据的类型相同。
SQL 示例
Section titled “SQL 示例”此示例演示如何使用 ARRAY_AGG 函数以便捷的数组格式聚合并呈现数据:
-- 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] |