# **MIN**

计算最小值。

MIN函数可用于数据统计查询时的最小值统计，也可以用于多个值之间的求最小值计算：

- 聚合统计：对一个字段或表达式进行聚合统计，此时只能传递一个参数，通常是传递要统计最小值的字段，等同于数据库的MIN函数。
- 四则运算：对多个值进行求最小值计算，也可以合计浮动数据和数组，此时MIN就不是一个聚合统计函数了。

## 语法{#grammar}

MIN(**param1**, **param2**, **...**, **paramN**)

- **paramN**：必需。在查询统计中判断该参数内最小值，传递多个值、单元格区块、数组对象时表示计算多个区域内的最小值。

**示例地址：** [MIN](https://demo.succbi.com/v5/bi/min)

## 示例{#example}

用于最小值统计，传入一个参数、字段或表达式：

1. `MIN(model1.field1)` 计算字段field1的最小值，如果每行field1字段都为null，或者一行数据也没有，返回null。

用于找到数组最小值，传入多个值或数组：

2. `MIN(1.2,2.3,3.4)` 数值，返回数值`1.2`。
3. `MIN(ARR(1,2,3))` 数值，返回数值`1`。
4. `MIN("a","b","Ab","bB","Aa")` 字母，返回字符串`Aa`，按Unicode编码逐字符比较。
5. `MIN(ARR(1,2),99,ARR(11,13,14))` 数值和数组，返回数值`1`。
6. `MIN(123,23,'12')` 数值和非数值型数字，返回数值`12`，`'12'`转成数值计算。
7. `MIN(1+1,4-3,3*5,6/3)` 表达式，返回数值`1`。
8. `MIN(1,2,NULL,3)` 含有`NULL`，返回数值`1`，忽略`NULL`。
9. `MIN(NULL,NULL,NULL)` 全为`NULL`，返回`NULL`。

用于找到浮动区域的最小值，传递单元格序列或浮动组件：

10. `MIN(A2)`  A2是浮动区域内的单元格，计算浮动单元格`A2`数据的最小值。报表分页时，计算当前页浮动单元格`A2`数据的最小值。
11. `MIN(A2:A5)` 计算A2、A3、A4、A5这几个连续的单元格最小值。
12. `MIN(A2:A5,B2:B5)` 计算2个连续单元格的最小值。
13. `MIN(input1)` input1是浮动面板内部的一个数值输入框，计算所有浮动面板内的input1的最小值。

[//]: # "在判断最小值时，可以对多种类型进行判断，不同类型的判断会根据 unicode 码的先后进行判断。如'A'比'a'小。"
