0

如何在 PostgreSQL 中找到 3 维数组的最大(或最小)元素?

有没有什么功能或更快的方法来代替这个?:

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

1 回答 1

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
于 2014-02-05T17:48:19.477 回答