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
View Code

二、聚合函数

2.1、max()、min()——最大值/最小值

数值型:求最大值、最小值

SQL> select max(employee_age) from employees;
 
MAX(EMPLOYEE_AGE)
-----------------
               37
View Code

字符型:按字母排列的最大值

SQL> select max(employee_name) from employees;
 
MAX(EMPLOYEE_NAME)
------------------
张三
View Code

日期型:求最新日期

SQL> select max(employee_birth) from employees;
 
MAX(EMPLOYEE_BIRTH)
-------------------
2010-05-03
View Code

2.2.avg()——平均数

SQL> select avg(employee_age) from employees;
 
AVG(EMPLOYEE_AGE)
-----------------
 28.2222222222222
View Code

2.3.sum()——求和

SQL> select sum(employee_age) from employees;
 
SUM(EMPLOYEE_AGE)
-----------------
              254
View Code

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
View Code

统计全部列_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
View Code

count(1)——同count(*)

SQL> select count(1) from employees;
 
  COUNT(1)
----------
        11
View Code

整理于《oracle入门很简单》一书

原文地址:https://www.cnblogs.com/zs-chenkang/p/13930555.html