zoukankan      html  css  js  c++  java
  • oracle学习之二组函数

    1、使用GROUP BY子句数据分组

    2、使用HAVING子句过滤分组结果集。

    3、组函数类型:AVG COUNT MAX MIN SUM

    4、COUNT(*)返回表中记录总数。

    5、COUNT(expr)返回 expr不为空的记录总数

    计算平均奖金

    SQL> select sum(comm)/count(*) 方式一,sum(comm)/count(comm) 方式二,avg(comm) 方式三

      2  from emp;

     

        方式一     方式二     方式三                                                                                                                      

    ---------- ---------- ----------                                                                                                                      

    157.142857        550        550        

     

    分组数据:求各个部门的平均工资

    SQL> select deptno,avg(sal)

      2  from emp

      3  group by deptno;

    group by作用于多列: 按部门,不同的工种,统计平均工资

    SQL> select deptno,job,avg(sal)

      2  from emp

      3  group by deptno,job;

    group by作用于多列:先按照第一列分组;如果相同,再按照第二列分组

    SQL> --having: 对分组后的结果,再进行条件过滤

    SQL> --:求部门的平均工资大于2000的部门

    SQL> select deptno,avg(sal)

      2  from emp

      3  group by deptno

      4  having avg(sal)>2000;

     

        DEPTNO   AVG(SAL)                                                                                                                                 

    ---------- ----------                                                                                                                                 

            20       2175                                                                                                                                 

            10 2916.66667  

                   

         group by的增强

    SQL> select deptno,job,sum(sal)

      2  from emp

      3  group by rollup(deptno,job);

         break on deptno skip 2

    SQL> /

     

        DEPTNO JOB         SUM(SAL)                                                                                                                       

    ---------- --------- ----------                                                                                                                       

            10 CLERK           1300                                                                                                                       

               MANAGER         2450                                                                                                                       

               PRESIDENT       5000                                                                                                                       

                               8750                                                                                                                       

                                                                                                                                                          

                                                                                                                                                          

            20 CLERK           1900                                                                                                                       

               ANALYST         6000                                                                                                                       

               MANAGER         2975                                                                                                                       

                              10875                                                                                                                       

                                                                                                                                                          

                                                                                                                                                          

            30 CLERK            950                                                                                                                       

               MANAGER         2850                                                                                                                       

               SALESMAN        5600                                                                                                                       

                               9400                                                                                                                       

                                                                                                                                                          

                                                                                                                                                          

                              29025   

     

     

     

     
  • 相关阅读:
    Lua build and install
    tomcat 配置的另外一种方法
    debian vsftp
    git(1)
    jd-gui安装
    debian crash log查看
    ros学习笔记
    51nod 1138 连续整数的和(数学公式)
    51nod 1428 活动安排问题(优先队列)
    Codeforces Round #347 (Div. 2) (练习)
  • 原文地址:https://www.cnblogs.com/caishuhua226/p/2458671.html
Copyright © 2011-2022 走看看