如何在mysql中求最大最小值_mysql max和min函数说明

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

MySQL 中求最大值和最小值,主要用 MAX()MIN() 聚合函数,它们作用于某一列,返回该列中的最大或最小非 NULL 值。

基本语法与单列使用

这两个函数用法一致,都接受一个表达式(通常是列名)作为参数:

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

例如:查询商品表中最高售价和最低售价

SELECT MAX(price) AS max_price, MIN(price) AS min_price FROM products;

配合 GROUP BY 分组求极值

当需要按类别分别统计最大/最小值时,加上 GROUP BY 即可:

每个分类下的最贵和最便宜商品价格 需注意:若要同时查出对应商品名称,不能只靠 MAX/MIN,需结合子查询或窗口函数(见下条) SELECT category, MAX(price), MIN(price) FROM products GROUP BY category;

获取整行记录(不只是数值)

MAX/MIN 只返回值,不返回整行数据。若想查出“价格最高的那条商品完整信息”,有几种方式:

用子查询匹配:WHERE price = (SELECT MAX(price) FROM products) 用 ORDER BY + LIMIT:ORDER BY price DESC LIMIT 1(注意可能有多个并列最高) MySQL 8.0+ 推荐用窗口函数:RANK() 或 ROW_NUMBER() 配合 OVER(ORDER BY price DESC)

注意事项与常见问题

这些细节容易影响结果准确性:

NULL 值会被自动忽略,不会参与计算 字符类型按字典序比较(如 'abc' > 'ab'),不是长度或数值大小 日期类型可直接用 MAX/MIN 比较,得到最早/最晚时间 聚合函数在没有 GROUP BY 时,整张表视为一组;有 GROUP BY 时按组分别计算

相关推荐