如何在 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;
如何在 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;
使用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