Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SQL聚合函数 MAX

SQL聚合函数 MAX

作者头像
用户7741497
发布于 2022-03-27 07:37:19
发布于 2022-03-27 07:37:19
1.2K00
代码可运行
举报
文章被收录于专栏:hml_知识记录hml_知识记录
运行总次数:0
代码可运行

SQL聚合函数 MAX

返回指定列中最大数据值的聚合函数。

大纲

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MAX([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])

参数

  • ALL - 可选-将聚合函数应用于所有值。 ALLMAX返回的值没有影响。 它提供了SQL-92兼容性。
  • DISTINCT - 可选-一个DISTINCT子句,指定考虑每个惟一值。 DISTINCTMAX返回的值没有影响。 它提供了SQL-92兼容性。
  • expression - 任何有效的表达式。 通常是包含要返回的最大值的值的列的名称。
  • %FOREACH(col-list) - 可选-列名或以逗号分隔的列名列表。
  • %AFTERHAVING - 可选-应用在HAVING子句中的条件。

MAX返回与表达式相同的数据类型。

描述

MAX聚合函数返回表达式的最大值。 通常,表达式是查询返回的多行中字段的名称(或包含一个或多个字段名称的表达式)。

MAX可以在引用表或视图的SELECT查询或子查询中使用。 MAX可以在SELECT列表或HAVING子句中与普通字段值一起出现。

MAX不能在WHERE子句中使用。 MAX不能在JOINON子句中使用,除非SELECT是子查询。

与大多数其他聚合函数一样,MAX不能应用于流字段。 尝试这样做会产生一个SQLCODE -37错误。

与大多数其他聚合函数不同,ALLDISTINCT关键字,包括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数据库中的最高(最高)工资:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT '$' || MAX(Salary) As TopSalary
     FROM Sample.Employee

本文系转载,前往查看

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

本文系转载,前往查看

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

评论
登录后参与评论
暂无评论
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验