# Concat Arrays with SQL Aggregate Functions ```sql create aggregate array_concat_agg(anycompatiblearray) ( sfunc = array_cat, stype = anycompatiblearray ); ``` ## Examples ```sql create table usr ( usr_id int primary key, country text not null, fav_animals text[] not null ); insert into usr (usr_id, country, fav_animals) values (1, 'UK', '{Tiger, Wolf}'), (2, 'AU', '{Kangaroo, Platypus}'), (3, 'JP', '{Jaguar, Llama}'), (4, 'UK', '{Fox, Badger}'), (5, 'AU', '{Emu, Koala}'), (6, 'JP', '{Tanuki, Koi}'), (7, 'UK', '{Hedgehog, Robin}'), (8, 'AU', '{Wombat, Shark}'), (9, 'JP', '{Crane, Salamander}'); ``` ```sql select country, array_concat_agg(fav_animals) from usr group by country; -- ----+-------------------------------------------- -- JP | {Jaguar,Llama,Tanuki,Koi,Crane,Salamander} -- AU | {Kangaroo,Platypus,Emu,Koala,Wombat,Shark} -- UK | {Tiger,Wolf,Fox,Badger,Hedgehog,Robin} ``` ```sql select country, array_concat_agg(fav_animals) filter (where 'Emu' = any(fav_animals)) from usr group by country; -- ----+-------------- -- JP | -- AU | {Emu,Koala} -- UK | ```