You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Int数组中获取最小值?min()与least()无法直接使用

从PostgreSQL数组中获取最小值的方法

方法1:PostgreSQL 14+ 直接使用 array_min() 函数

PostgreSQL 14及以上版本内置了专门处理数组的最小值函数 array_min(),可以直接传入数组参数:

select 'a', array_min(array[1,2,3]);

执行后会直接返回你期望的结果:'a', 1。

方法2:低版本PostgreSQL(14以下):展开数组后聚合

如果你的PostgreSQL版本低于14,可以用 unnest() 函数将数组拆分为单行元素,再用 min() 聚合函数取最小值:

select 'a', min(elem)
from unnest(array[1,2,3]) as elem;

为什么 min() 和 least() 无法直接使用?

  • min() 是聚合函数,作用于多行记录的同一列,而不是单个数组的内部元素;
  • least() 用于接收多个独立参数(比如 least(1,2,3)),不能直接接收数组作为参数。

内容的提问来源于stack exchange,提问作者Hugh_Kelley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 20:15:43