mysql中MAX和MIN函数如何使用_mysql MAX MIN函数方法

来源:这里教程网 时间:2026-02-28 20:21:58 作者:

在MySQL中,MAX()MIN() 是聚合函数,用于从一列数据中找出最大值和最小值。它们常用于数值、日期或字符串类型的字段,通常与 SELECT 语句结合使用。

基本语法

SELECT MAX(列名) FROM 表名;
SELECT MIN(列名) FROM 表名;

这两个函数会忽略 NULL 值,只对非空值进行计算。

查询单列的最大值和最小值

假设有一个名为 products 的表,结构如下:

+----+----------+-------+
| id | name     | price |
+----+----------+-------+
|  1 | Laptop   | 5000  |
|  2 | Mouse    | 50    |
|  3 | Keyboard | 150   |
+----+----------+-------+

要找出价格最高的产品价格:

SELECT MAX(price) AS max_price FROM products;

返回结果:5000

要找出价格最低的产品价格:

SELECT MIN(price) AS min_price FROM products;

返回结果:50

结合 WHERE 条件使用

可以配合 WHERE 子句筛选特定条件下的最大或最小值。

例如:查找价格大于 100 的产品中的最高价:

SELECT MAX(price) FROM products WHERE price > 100;

结果将返回 5000。

与 GROUP BY 配合分组统计

当需要按某字段分组并查看每组的最大或最小值时,使用 GROUP BY。

比如表中有 category 字段:

+----+----------+-------+-----------+
| id | name     | price | category  |
+----+----------+-------+-----------+
|  1 | Laptop   | 5000  | Electronics |
|  2 | Mouse    | 50    | Electronics |
|  3 | Apple    | 8     | Food        |
|  4 | Banana   | 5     | Food        |
+----+----------+-------+-----------+

按类别查看最高价格:

SELECT category, MAX(price) AS max_price FROM products GROUP BY category;

结果:

+-------------+-----------+
| category    | max_price |
+-------------+-----------+
| Electronics | 5000      |
| Food        | 8         |
+-------------+-----------+

同理可查每类的最低价格:

SELECT category, MIN(price) AS min_price FROM products GROUP BY category;

支持的数据类型

MAX 和 MIN 不仅适用于数字,还可用于:

日期类型:找出最早或最晚的日期 字符串类型:按字母顺序返回最大或最小的值(如 A 最小,Z 最大)

例如,查找员工表中最早入职的日期:

SELECT MIN(hire_date) FROM employees;

查找姓名字典序最大的员工:

SELECT MAX(name) FROM employees;

基本上就这些。用好 MAX 和 MIN 能快速获取关键极值信息,尤其在数据分析中非常实用。注意确保字段类型适合比较,避免意外结果。

相关推荐