YashanDB MAX函数

MAX函数计算给定参数expr的最大值。

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

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

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

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

DISTINCT

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

ALL

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

示例


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 MAX(employee_count) res FROM area1;
         RES 

         400

SELECT MAX(true) FROM sys.dual;

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

Copied!

OVER

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

analytic_clause

窗口函数通用语法。

示例


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,
MAX(revenue_total) OVER (PARTITION BY year ORDER BY month) toall
FROM finance_info;
YEAR  MONTH       TOALL 

2001  01           2888
2021  01          38888
2021  01          38888
2021  02          38888


SELECT year,month,
MAX(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          38888
2021  02          38888

Copied!

posted @ 2025-06-19 18:03  YashanDB  阅读(7)  评论(0)    收藏  举报