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

发布于:2025-08-10 ⋅ 阅读:(14) ⋅ 点赞:(0)

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_salary
FROM employees;

-- 在HAVING子句中使用
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING 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子句中


网站公告

今日签到

点亮在社区的每一天
去签到