2014-02-05 137 views
0

如何在PostgreSQL中查找三维数组的最大(或最小)元素?如何获得三维数组的最小值或最大值?

是否有任何功能或更快的方法,而不是本?:

min:= A[1][1][1]; 

for i IN 1..9 LOOP 
for j IN 1..9 LOOP 
for k IN 1..9 LOOP 
     min := least(min,A[i][j][k]); 
END LOOP; 
END LOOP; 
END LOOP; 

回答

3

使用unnest()

SELECT min(elem) AS min_elem 
FROM unnest(my_arr) AS elem 

unnest()返回一组碱无论阵列尺寸的元件。然后,你需要的是聚合函数min()

由于PLPGSQL任务(因为你似乎与PLPGSQL合作):

SELECT min(elem) INTO my_variable 
FROM unnest(my_arr) AS elem 
相关问题