• 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入门很简单》一书

  • 相关阅读:
    MySQL(一)
    HTML基础
    python函数基础
    常用的模块
    面向对象进阶
    定制自己的数据类型
    Shell篇之AWK
    MATLAB如何实现傅里叶变换FFT?有何物理意义?
    傅里叶分析
    2018年度关键词
  • 原文地址:https://www.cnblogs.com/zs-chenkang/p/13930555.html
Copyright © 2020-2023  润新知