Impala/SQL: group by - 通过创建所有值的列表来聚合字段

Impala/SQL: group by - aggregate a field by creating a list of all values

我下面有一个table:

id  |  animal  |  team
-------------------------
 1  |  dog     |  A
 2  |  cat     |  A
 3  |  cow     |  A
 4  |  bird    |  B
 5  |  rat     |  B
 6  |  goat    |  C

我想按团队分组,将一个团队中的动物汇总到一个列表中。即输出应如下所示:

team  |  animal_list
--------------------------
 A    | [dog, cat, cow]
 B    | [bird, rat]
 C    | [goat]

可以通过Impala/SQL查询实现吗?

请使用此查询。

select team, concat("[", group_concat(animal), "]") as animal_list from   anmials group by team

你可以在这里看到结果输出:http://sqlfiddle.com/#!9/1b03f/3