首页/数据/SQL 速查/MIN / MAX 最值统计
本包目录(311 条)
查询基础33 条连接与子查询40 条
聚合与窗口函数54 条
函数速查60 条变更与事务52 条性能与执行计划72 条

MIN / MAX 最值统计

取列的极小值与极大值;忽略 NULL,可用于时间范围、价格区间等场景,配合 GROUP BY 得到分组极值。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT MIN(created_at) AS first_order,
       MAX(created_at) AS last_order,
       MIN(amount)    AS min_amount,
       MAX(amount)    AS max_amount
FROM orders
WHERE user_id = 42;

SELECT user_id, MAX(amount) AS max_amount
FROM orders
GROUP BY user_id;
NULL忽略
字符串按排序规则比较,可求字典序极值
索引分组求 MAX 有合适索引时可走松散索引扫描

易错点

  • “每个用户金额居首的那一整行”不能只取 MAX(amount),需要窗口函数或自连接才能拿到完整行
  • MIN/MAX 在没有匹配行时返回 NULL,别直接参与展示拼接

数据来源与参考

  • MySQL 8.0 Reference Manual · MIN / MAX
  • PostgreSQL Documentation · Aggregate Functions
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌