> 技术文档 > [Oracle] MAX()和MIN()函数

[Oracle] MAX()和MIN()函数

MAX() MIN() 是 Oracle 常用的聚合函数,用于从一组值中找出最大值和最小值

1.MAX()函数

MAX()函数返回指定列或表达式中的最大值

语法格式

MAX(expression)

参数说明

expression:可以是列名、计算列或表达式

示例

-- 返回employees表中salary列的最大值SELECT MAX(salary) FROM employees;-- 与GROUP BY结合使用-- 返回每个部门的最高薪资SELECT department_id, MAX(salary) FROM employees GROUP BY department_id;-- 返回最近的雇佣日期SELECT MAX(hire_date) FROM employees;-- 返回两列最大值中的较大者SELECT GREATEST(MAX(col1), MAX(col2)) FROM table1;-- 结合CASE表达式使用SELECT MAX(CASE WHEN department_id = 10 THEN salary END) as dept10_max_salaryFROM employees;-- 在HAVING子句中使用SELECT department_id, MAX(salary)FROM employeesGROUP BY department_idHAVING MAX(salary) > 10000;

提示Tips

① MAX()函数适用于数值、日期和字符数据类型

② MAX()函数忽略NULL值

③ MAX()函数常与GROUP BY子句一起使用

与GROUP BY一起使用时,SELECT列表中的非聚合列必须包含在GROUP BY子句中

2.MIN()函数

MIN()函数返回指定列或表达式中的最小值

语法格式

MIN(expression)

参数说明

expression:可以是列名、计算列或表达式

示例

-- 返回employees表中salary列的最小值SELECT MIN(salary) FROM employees;-- 与GROUP BY结合使用-- 返回每个部门最早的雇佣日期SELECT department_id, MIN(hire_date) FROM employees GROUP BY department_id;

提示Tips

① MIN()函数适用于数值、日期和字符数据类型

② MIN()函数忽略NULL值

③ MIN()函数常与GROUP BY子句一起使用

与GROUP BY一起使用时,SELECT列表中的非聚合列必须包含在GROUP BY子句中