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

Eda*_*ame 2 sql group-by impala

我有下表:

id  |  animal  |  team
-------------------------
 1  |  dog     |  A
 2  |  cat     |  A
 3  |  cow     |  A
 4  |  bird    |  B
 5  |  rat     |  B
 6  |  goat    |  C
Run Code Online (Sandbox Code Playgroud)

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

team  |  animal_list
--------------------------
 A    | [dog, cat, cow]
 B    | [bird, rat]
 C    | [goat]
Run Code Online (Sandbox Code Playgroud)

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

Sen*_*hil 5

请使用此查询。

select team, concat("[", group_concat(animal), "]") as animal_list from   anmials group by team
Run Code Online (Sandbox Code Playgroud)

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