oracle—聚合函数(max、min、avg、sum、count)
一、数据准备
SQL> select * from employees; EMPLOYEE_ID EMPLOYEE_NAME EMPLOYEE_POSITION EMPLOYEE_AGE EMPLOYEE_ADD EMPLOYEE_BIRTH ----------- ------------- ----------------- ------------ -------------------- -------------- 4 大鳄 工程师 26 巴南 1988-07-01 3 昂呜 高级工程师 27 渝北 1998-06-01 2 李四 高级工程师 32 渝北 1994-09-01 1 张三 开发经理 37 巴南 1987-11-01 5 过户 工程师 26 渝中 1985-08-01 6 问题 工程师 25 渝中 1980-02-09 7 语句 测试工程师 24 九龙坡 2010-05-03 8 陈武 测试工程师 25 江北 2004-01-23 9 六六 测试工程师 32 南岸 1994-12-21 9 rows selected
二、聚合函数
2.1、max()、min()——最大值/最小值
数值型:求最大值、最小值
SQL> select max(employee_age) from employees; MAX(EMPLOYEE_AGE) ----------------- 37
字符型:按字母排列的最大值
SQL> select max(employee_name) from employees; MAX(EMPLOYEE_NAME) ------------------ 张三
日期型:求最新日期
SQL> select max(employee_birth) from employees; MAX(EMPLOYEE_BIRTH) ------------------- 2010-05-03
2.2.avg()——平均数
SQL> select avg(employee_age) from employees; AVG(EMPLOYEE_AGE) ----------------- 28.2222222222222
2.3.sum()——求和
SQL> select sum(employee_age) from employees; SUM(EMPLOYEE_AGE) ----------------- 254
2.4.count——计数
统计单列
SQL> insert into employees values(10,'江小白',null,null,null,null); 1 row inserted SQL> select * from employees; EMPLOYEE_ID EMPLOYEE_NAME EMPLOYEE_POSITION EMPLOYEE_AGE EMPLOYEE_ADD EMPLOYEE_BIRTH ----------- ------------- ----------------- ------------ -------------------- -------------- 10 江小白 4 大鳄 工程师 26 巴南 1988-07-01 3 昂呜 高级工程师 27 渝北 1998-06-01 2 李四 高级工程师 32 渝北 1994-09-01 1 张三 开发经理 37 巴南 1987-11-01 5 过户 工程师 26 渝中 1985-08-01 6 问题 工程师 25 渝中 1980-02-09 7 语句 测试工程师 24 九龙坡 2010-05-03 8 陈武 测试工程师 25 江北 2004-01-23 9 六六 测试工程师 32 南岸 1994-12-21 10 rows selected SQL> select count(employee_name) name,count(employee_age) age from employees; NAME AGE ---------- ---------- 10 9
统计全部列_count(*)
SQL> insert into employees values(null,null,null,null,null,null); 1 row inserted SQL> select * from employees; EMPLOYEE_ID EMPLOYEE_NAME EMPLOYEE_POSITION EMPLOYEE_AGE EMPLOYEE_ADD EMPLOYEE_BIRTH ----------- ------------- ----------------- ------------ -------------------- -------------- 10 江小白 4 大鳄 工程师 26 巴南 1988-07-01 3 昂呜 高级工程师 27 渝北 1998-06-01 2 李四 高级工程师 32 渝北 1994-09-01 1 张三 开发经理 37 巴南 1987-11-01 5 过户 工程师 26 渝中 1985-08-01 6 问题 工程师 25 渝中 1980-02-09 7 语句 测试工程师 24 九龙坡 2010-05-03 8 陈武 测试工程师 25 江北 2004-01-23 9 六六 测试工程师 32 南岸 1994-12-21 11 rows selected SQL> select count(*) from employees; COUNT(*) ---------- 11
count(1)——同count(*)
SQL> select count(1) from employees; COUNT(1) ---------- 11
整理于《oracle入门很简单》一书