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

Impala/SQL:group by-通过创建所有值的列表聚合字段,sql,group-by,impala,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 我想按小组分组,并将小组中的动物汇总成一个列表。i、 e.输出应如下所示: team | animal_list -------------

我的表格如下:

id  |  animal  |  team
-------------------------
 1  |  dog     |  A
 2  |  cat     |  A
 3  |  cow     |  A
 4  |  bird    |  B
 5  |  rat     |  B
 6  |  goat    |  C
我想按小组分组,并将小组中的动物汇总成一个列表。i、 e.输出应如下所示:

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

您可以在此处看到结果输出:

谢谢!但我想知道是否有可能只保留列表中每个值的一个副本?例如,如果一个团队有两只猫,我想要[dog,cat,cow]而不是[dog,cat,cat,cow]?是的,你可以这样做,像这样使用选择团队,group_contact(独特的(动物))作为anmials group by teamorder by中的动物_列表在group_concat的黑斑羚版本中不处理,你知道任何解决方法吗?