GreenPlum之数组合并取交集及行变列、列变行函数


--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;


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值