首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >YashanDB MIN函数

YashanDB MIN函数

原创
作者头像
用户10349277
发布2025-06-17 17:10:52
发布2025-06-17 17:10:52
2570
举报
文章被收录于专栏:YashanDB知识库YashanDB知识库
代码语言:javascript
复制
min::= MIN "(" [DISTINCT|ALL] expr ")" [OVER "(" analytic_clause ")"]

analytic_clause::= "(" [query_partition_clause] [order_by_clause [windowing_clause]] ")"

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

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

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

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

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

DISTINCT

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

ALL

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

示例

代码语言:javascript
复制
-- 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

窗口函数通用语法。

示例

代码语言:javascript
复制
-- 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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档