MySQL - max()函数

MySQL - max()函数 首页 / MySQL入门教程 / MySQL - max()函数

MySQL MAX()函数用于返回表达式值集中的最大值。

语法

以下是MySQL中MAX()函数的基本语法:

SELECT MAX(DISTINCT aggregate_expression)  
FROM table_name(s)  
[WHERE conditions];

参数

此函数使用以下参数:

aggregate_expression     -  是必需的表达式。它指定将从中返回最大值的列,表达式或公式。

table_name                         -  它指定要从中检索记录的表。在FROM子句中必须至少列出一个表。

WHERE conditions         -  这是可选的。它指定了选择记录必须满足的条件。

DISTINCT                           -  它允许无涯教程返回表达式中不同值的最大值。

MAX()函数示例

让无涯教程借助各种示例来了解MAX函数在 MySQL 中的工作方式。考虑数据库有一个名为"employees"的表,其中包含以下数据。

mysql max() function

1.基本示例

执行以下使用MAX函数的查询,以找到表中可用的员工的MAX(income):

mysql> SELECT MAX(income) AS "Maximum Income" FROM employees;

上面的查询产生所有行中最大值的结果。执行后,无涯教程将得到如下输出:

无涯教程网

mysql max() function

2.带有WHERE子句的MySQL MAX()函数

WHERE子句允许无涯教程从所选记录中过滤结果。以下语句从employee表中查找所有行中的最大收入。 WHERE子句指定 emp_age列大于35的所有行。

mysql> SELECT MAX(income) AS "Maximum_Income" 
FROM employees 
WHERE emp_age > 35;

上面的语句将得到如下输出:

mysql max() function

3.带有GROUP BY子句的MySQL MAX()函数

GROUP BY子句允许无涯教程从多个行中收集数据,并根据一个或多个列对其进行分组。例如,以下语句将MAX()函数与GROUP BY子句一起使用,以从employee表的所有行中找到每个emp_age组的最大收入。

mysql> SELECT emp_age, MAX(income) AS "Maximum Income" 
FROM employees 
GROUP BY emp_age;

成功执行后,无涯教程可以根据年龄对员工进行分组,从而看到其最大收入回报:

mysql max() function

3.带有HAVING子句的MySQL MAX()函数

HAVING子句始终与GROUP BY子句一起使用以从表中过滤记录。例如,以下语句返回所有雇员中的最大收入,并根据他们的城市(city)将其分组,并返回其MAX(income)> = 200000的结果。

mysql> SELECT city, MAX(income) AS "Maximum Income" 
FROM employees 
GROUP BY city
HAVING MAX(income) >= 200000;

该语句将返回如下输出:

mysql max() function

5.带有DISTINCT子句的MySQL MAX()函数

MySQL使用 DISTINCT 关键字从列名中删除重复的行。无涯教程还可以将此子句与MAX()函数一起使用,以返回表中存在的唯一记录数的最大收入值。

执行以下查询,该查询将employee表的"income"列中按城市分组的重复记录删除,然后返回最大值:

mysql> SELECT city, MAX(DISTINCT income) AS "Maximum Income" 
FROM employees 
GROUP BY city;

该语句将给出如下输出:

mysql max() function

6.子查询示例中的MySQL MAX()函数

有时需要使用子查询来返回表中的最大值。在这种情况下,无涯教程使用以下查询:

mysql> SELECT * FROM employees WHERE 
emp_age = (SELECT MAX(emp_age) FROM employees);

子查询首先从表中找到员工的最大年龄。然后,主查询(外部查询)返回的年龄等于从子查询及其他信息返回的最大年龄。

mysql max() function

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品实战 -〔邱岳〕

玩转Git三剑客 -〔苏玲〕

全栈工程师修炼指南 -〔熊燚(四火)〕

WebAssembly入门课 -〔于航〕

Go 语言项目开发实战 -〔孔令飞〕

讲好故事 -〔涵柏〕

大厂设计进阶实战课 -〔小乔〕

快手 · 音视频技术入门课 -〔刘歧〕

计算机基础实战课 -〔彭东〕

好记忆不如烂笔头。留下您的足迹吧 :)