MySQL中一個很實用的函數:group_concat,在vertica中,有一個功能相同的函數:LISTAGG。
用法:
select client_id, LISTAGG(prod_code) from bdware.test1 group by client_id
默認最大返回長度是1024,如果超出1024,默認策略是報錯,可以手動調整爲截取模式。如下:
select client_id, LISTAGG(prod_code USING PARAMETERS max_length=1024, on_overflow='TRUNCATE') from bdware.test1 group by client_id
在Github上還有很多Vertica擴展函數,是用C++實現的,可以自己手工編譯註冊到Vertica中。地址如下:
https://github.com/vertica/Vertica-Extension-Packages
至於怎麼編譯註冊,參照別人的文章:
https://blog.51cto.com/u_11612079/2050260