MAX()和MIN()分别返回指定列的最大值和最小值,忽略NULL值。例如SELECT MAX(salary) FROM employees可查最高工资,结合子查询可获取对应姓名;同理MIN()用于查最低工资。两者适用于数值、日期和字符串类型,字符串按字典序比较,日期取最晚或最早时间。在GROUP BY中可分组统计极值,若全列为NULL则结果为NULL,常用于数据范围分析和条件筛选。
SQL 聚合函数中,MAX() 和 MIN() 分别用于计算指定列中的最大值和最小值。它们会忽略 NULL 值,只对非空值进行比较。
使用 MAX() 获取最大值
MAX() 函数返回某一列中的最大值,适用于数值、日期或字符串类型的数据。
例如,查询员工表中最高工资:
SELECT MAX(salary) FROM employees;
若要同时显示该员工的姓名,可结合其他字段和子查询:
SELECT name, salary FROM employees WHERE salary = (SELECT MAX(salary) FROM employees);
使用 MIN() 获取最小值
MIN() 函数返回某一列中的最小值,用法与 MAX() 类似。
例如,查找最低工资:
SELECT MIN(salary) FROM employees;
同样可以关联出完整信息:
SELECT name, salary FROM employees WHERE salary = (SELECT MIN(salary) FROM employees);
注意事项和常见用法
这两个函数常用于分析数据范围、识别极端值,或作为条件筛选的一部分。
- 在 GROUP BY 查询中,可按分组分别获取每组的最大或最小值
- 字符串类型的列会按字典顺序比较,MAX() 返回字母顺序最后的值
- 日期类型则返回最晚或最早的时间点
- 如果列中所有值都为 NULL,结果也为 NULL
基本上就这些,用起来简单但很实用。