·新学习·新旅程 NEW TERM
Oracle 学习笔记_5_分组函数
分组函数
分组函数说明
count | 取得记录数 |
sum | 求和 |
avg | 取平均值 |
max | 取最大的数 |
min | 取最小的数 |
COUNT
# count 查询表中记录的数量
-- 取得所有学生数
select count(*) from stu;
-- 取得不为null的学生数
select count(name) from stu;
count(*)表示取得所有记录,忽略 null,为 null 值也会取得
count(字段)表示取得某字段的记录,忽略null,为null值不会取得
SUM
# sum 求和
-- 查询薪水的和
select sum(sal) from emp;
-- 查询薪水与奖金的和
select sum(sal+comm) from emp;
从以上结果来看,不正确,原因在于 comm 字段有 null 值,所以无法计算,sum 会忽略掉,正确的做法是将 comm 字段转换成 0,正确做法应为下面的语句
select sum(sal+nvl(comm, 0)) from emp;
取得某一个列的和,但是是为null则忽略
AVG
# avg 求平均值
-- 查询所有人的平均薪水
select avg(sal) from emp;
MAX
# max 取最大值
-- 查询学生中年龄最大的
select max(age) from stu;
MIN
# min 取最小值
-- 查询学生中年龄最小的
select min(age) from stu;
-- 查询最早入职的员工
select min(to_char(hiredate, 'yyyy-mm-dd')) from emp;
简单的分组函数查询
2021/9/20






