YashanDB MIN函数

MIN函数计算给定参数expr的最小值。

当USE_NATIVE_TYPE为TRUE时其返回值类型与参数的类型一致;当USE_NATIVE_TYPE为FALSE时,除FLOAT类型返回为NUMBER外,其余返回值类型与参数的类型一致。

在单行计算中,当expr的值为NULL时,函数返回NULL。

在多行计算中,函数将忽略expr值为空的行,当所有行均为空时,计算结果为NULL。

聚集函数不可嵌套,因此expr为除聚集函数之外的其他通用表达式,其数据类型可以是除布尔型、大对象型、JSON、XMLTYPE及UDT以外的数据类型。

DISTINCT

表示在计算最小值时,过滤掉重复的行。

ALL

默认值,表示对所有行计算最小值。

示例

-- area1表中包含如下字段和数据
SELECT area_no,area_name,DHQ,employee_count FROM area1;
AREA_NO AREA_NAME             DHQ               EMPLOYEE_COUNT
------- --------------------- ----------------- --------------
01      华东                Shanghai                        
02      华西                Chengdu                      300
03      华南                Guangzhou                    400
04      华北                Beijing                      300
05      华中                Wuhan                           
  
-- 计算最小的员工数量,与SELECT MIN(DISTINCT employee_count) FROM area1语句的查询结果一致
SELECT MIN(employee_count) res FROM area1;
         RES 
------------ 
         300

SELECT MIN(true) FROM sys.dual;

[1:12]YAS-08021 invalid data type: BOOLEAN

Copied!

OVER

当指定OVER关键字时,MIN将作为窗口函数,并支持滑动窗口,返回多行的最小值。

analytic_clause

窗口函数通用语法。

示例

-- finance_info表记录了分年、月、机构的收入情况
SELECT year,month,branch,revenue_total FROM finance_info;
YEAR  MONTH BRANCH REVENUE_TOTAL 
----- ----- ------ ------------- 
2001  01    0201            2888
2021  01    0201           28888
2021  01    0101           38888
2021  02    0101           37778

-- 分年统计每月的最低收入
SELECT year,month,
MIN(revenue_total) OVER (PARTITION BY year ORDER BY month) toall
FROM finance_info;
YEAR  MONTH       TOALL 
----- ----- ----------- 
2001  01           2888
2021  01          28888
2021  01          28888
2021  02          28888

-- 分年统计每月年初至今的最低收入
SELECT year,month,
MIN(revenue_total) OVER (PARTITION BY year ORDER BY month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) tonow
FROM finance_info;
YEAR  MONTH       TONOW 
----- ----- ----------- 
2001  01           2888
2021  01          28888
2021  01          28888
2021  02          28888
### MIN 函数的用法及示例 #### 1. MIN 函数的基本语法 MIN 函数用于找出一组数值中的最小值。其基本语法如下: ```plaintext MIN(number1, [number2], ...) ``` - `number1`:必需,要比较的第一个数字、单元格引用或范围。 - `[number2]`, ...:可选,其他需要参与比较的数字、单元格引用或范围。 MIN 函数会忽略空白单元格和文本值,但包含零的单元格会被计入计算中[^3]。 #### 2. MIN 函数的功能与特点 MIN 函数适用于简单的最小值查找场景,同时也支持结合条件进行复杂计算。例如,可以使用数组公式或与其他函数(如 IF)结合实现条件最小值计算。 #### 3. 示例代码与详细解释 ##### 示例 1:基础最小值计算 假设 A 列包含一组数字,需要找出这些数字中的最小值: ```excel =MIN(A2:A10) ``` 此公式将返回 A2:A10 范围内的最小值[^3]。 ##### 示例 2:多列数据的最小值计算 如果需要找出多个列中数据的最小值,可以直接将多个范围作为参数输入: ```excel =MIN(A2:A10, B2:B10, C2:C10) ``` 此公式将返回 A2:A10、B2:B10 和 C2:C10 中的所有数字中的最小值[^3]。 ##### 示例 3:条件最小值计算 如果需要计算满足特定条件的数据的最小值,可以使用 MINIF 或 MINIFS 函数。例如,假设 A 列为销售金额,B 列为地区名称,需要找出“北方”地区的最低销售额: ```excel =MINIFS(A2:A10, B2:B10, "北方") ``` 此公式将筛选出 B2:B10 中等于“北方”的行,并对对应的 A 列中的数值求最小值[^3]。 ##### 示例 4:Python 中的 min() 函数 在 Python 中,`min()` 函数用于找出可迭代对象中的最小值。以下是一个示例: ```python # 找出列表中的最小值 data = [10, 20, 30, 40, 50] minimum_value = min(data) print(minimum_value) # 输出 10 ``` 此代码将返回列表 `data` 中的最小值[^2]。 #### 4. 注意事项 - 如果范围内不包含任何数字,MIN 函数将返回错误值 `#VALUE!`。 - 空白单元格会被忽略,但包含零的单元格会被计入计算中。 - 使用数组公式时,请确保正确输入,通常需要按 `Ctrl+Shift+Enter` 键组合。 #### 5. Java 中的 Math.min() 函数 在 Java 中,`Math.min()` 函数用于比较两个数值并返回较小的那个数值。以下是一个示例: ```java // 比较两个整数并返回较小值 int minValue = Math.min(10, 20); System.out.println(minValue); // 输出 10 ``` 此代码将返回两个整数 `10` 和 `20` 中的较小值[^1]。 #### 6. MIN 函数MINIF/MINIFS 的区别 虽然 MIN 函数可以计算简单最小值,但对于条件最小值计算,MINIF 和 MINIFS 提供了更直接的解决方案。MINIF 适用于单条件最小值计算,而 MINIFS 支持多条件最小值计算。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值