2014-02-05 175 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 
相關問題