GreenPlum之數組合並取交集及行變列、列變行函數
阿新 • • 發佈:2017-07-14
blog ner fun cnblogs $1 $$ ble lec temp
--1.利用INTERSECT關鍵字數組之間交集函數 CREATE OR REPLACE FUNCTION array_intersect(anyarray, anyarray) RETURNS anyarray AS $$ SELECT ARRAY( SELECT UNNEST($1) INTERSECT SELECT UNNEST($2)); $$ LANGUAGE SQL; select array_intersect(array[1,2,3],array[2,3,4]); --2.行變列函數UNNEST select UNNEST(array[1,2,3]); --3.列變行函數array_agg: create temporary table temp_test01 as select array_agg(c) aggtest from (values(NULL),(‘1‘),(‘2‘),(‘3‘))tb(c); select UNNEST(aggtest) from temp_test01; select array_agg((id)) from (select id,md5(random()::text),clock_timestamp() from generate_series(1,100) t(id)) t1;
GreenPlum之數組合並取交集及行變列、列變行函數