2016-09-09 8 views
1

すべての値のリストを作成することによって、フィールドを集約:チームがグループにインパラ/ SQL:GROUP BY - 私は下の表を持っている

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クエリで実現できますか?

答えて

4

このクエリを使用してください。 http://sqlfiddle.com/#!9/1b03f/3

+0

ありがとう:

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

あなたはここで結果出力を見ることができます!しかし、リスト内の各値のコピーを1つだけ保持することが可能かどうかは疑問です。たとえば、チームに2匹の猫がいる場合、[犬、猫、猫、牛]の代わりに[犬、猫、牛]が必要ですか? – Edamame

+0

はい、あなたはこれを使用することができます。このチームを選択すると、team_contact(distinct(animal))という動物のリストをアニミールグループから – Senthil

+0

出力/デモをご覧くださいhttp://sqlfiddle.com/#!9/12604/ 2 – Senthil

関連する問題