在MySQL中,MAX() 和 MIN() 是聚合函数,用于从一列数据中找出最大值和最小值。它们常用于数值、日期或字符串类型的字段,帮助快速获取极值信息。
MAX() 函数用法
MAX() 返回指定列中的最大值,忽略 NULL 值。
常见使用场景: 查找表中某个数值字段的最大值,如最高工资、最大订单金额等。 获取日期字段中最新的时间记录。 对字符串字段使用时,返回按字典顺序排在最后的值。语法:
SELECT MAX(列名) FROM 表名 [WHERE 条件];
示例:
SELECT MAX(salary) FROM employees;
这将返回 employees 表中 salary 字段的最大值。
MIN() 函数用法
MIN() 返回指定列中的最小值,同样忽略 NULL 值。
适用情况包括: 查找最低价格、最早入职时间等。 与 MAX 配合使用,可快速了解数据范围。语法:
SELECT MIN(列名) FROM 表名 [WHERE 条件];
示例:
SELECT MIN(hire_date) FROM employees;
返回员工表中最早入职的日期。
结合 GROUP BY 使用
MAX 和 MIN 可与 GROUP BY 搭配,按分组统计每组的极值。
示例:
SELECT department, MAX(salary), MIN(salary) FROM employees GROUP BY department;
该语句列出每个部门的最高和最低薪资。
注意事项
若查询结果无匹配行(如空表),MAX 和 MIN 返回 NULL。 可用于子查询中,作为条件筛选依据。 不能直接在 WHERE 子句中使用,需配合 HAVING(用于聚合结果过滤)或子查询。例如,想查工资等于最高工资的员工:
SELECT * FROM employees WHERE salary = (SELECT MAX(salary) FROM employees);
基本上就这些。掌握 MAX 和 MIN 能快速提取关键极值信息,是数据分析中非常实用的操作。
