码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-07-14 00:33:06      阅读:1240      评论:0      收藏:0      [点我收藏+]

标签:gtest   rand   any   rom   replace   function   lang   sql   int   

--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之数组合并取交集及行变列、列变行函数

标签:gtest   rand   any   rom   replace   function   lang   sql   int   

原文地址:http://www.cnblogs.com/binguo2008/p/7163794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!