返回指定列中最大数据值的聚合函数。
MAX([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
ALL
- 可选-将聚合函数应用于所有值。
ALL
对MAX
返回的值没有影响。
它提供了SQL-92
兼容性。DISTINCT
- 可选-一个DISTINCT
子句,指定考虑每个惟一值。
DISTINCT
对MAX
返回的值没有影响。
它提供了SQL-92
兼容性。expression
- 任何有效的表达式。
通常是包含要返回的最大值的值的列的名称。%FOREACH(col-list)
- 可选-列名或以逗号分隔的列名列表。%AFTERHAVING
- 可选-应用在HAVING
子句中的条件。MAX
返回与表达式相同的数据类型。
MAX
聚合函数返回表达式的最大值。
通常,表达式是查询返回的多行中字段的名称(或包含一个或多个字段名称的表达式)。
MAX
可以在引用表或视图的SELECT
查询或子查询中使用。
MAX
可以在SELECT
列表或HAVING
子句中与普通字段值一起出现。
MAX
不能在WHERE
子句中使用。
MAX
不能在JOIN
的ON
子句中使用,除非SELECT
是子查询。
与大多数其他聚合函数一样,MAX
不能应用于流字段。
尝试这样做会产生一个SQLCODE -37
错误。
与大多数其他聚合函数不同,ALL
和DISTINCT
关键字,包括MAX(DISTINCT BY(col2) col1)
,在MAX
中不执行任何操作。
它们是为了SQL-92
的兼容性而提供的。
MAX
使用的指定字段可以是数字或非数字。
对于数字数据类型字段,maximum
被定义为数值中的最大值;
因此-3
大于-7
。
对于非数值型数据类型字段,maximum
定义为字符串排序序列中的最大值;
因此'-7'
比 '-3'
高。
一个空字符串 (''
)值被视为CHAR(0)
。
谓词使用为字段定义的排序规则类型。
默认情况下,字符串数据类型字段是用SQLUPPER
排序规则定义的,它不区分大小写。
当字段定义的排序类型为SQLUPPER
时,MAX
返回全大写字母的字符串。
因此,SELECT MAX(Name)
返回'ZWIG'
,而不管数据的原始字母大小写。
但是因为比较是使用大写排序法执行的,所以HAVING Name=MAX(Name)
子句选择的是Name
值为 'Zwig'
, 'ZWIG'
, 'zwig'
的行。
对于数值,返回的刻度与表达式刻度相同。
在派生MAX
聚合函数值时,数据字段中的NULL
值将被忽略。
如果查询没有返回行,或者返回的所有行的数据字段值为NULL
,则MAX
返回NULL
。
与所有聚合函数一样,MAX
总是返回数据的当前状态,包括未提交的更改,而不考虑当前事务的隔离级别。
以下查询返回Sample.Employee
数据库中的最高(最高)工资:
SELECT '$' || MAX(Salary) As TopSalary
FROM Sample.Employee
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有