zoukankan      html  css  js  c++  java
  • oracle--groupby分组学习

    使用group by分组
            在多行函数中不能直接使用普通字段,除非group by
            在多行函数中不能直接使用单行函数,除非group by
            group by学习:
                 ---1、使用group by进行数据分组 select 多行函数,分组字段 from 表名 group by 分组字段
                 ---2、多字段进行分组的时候,按照字段顺序进行分组,第一条件分组完成后,继续使用其他条件依次分组。
                 ---3、group by依然可以和order by 联合使用
                 ---4、可以和单行函数联合进行分组,注意使用了单行函数那么在查询语句中必须也要使用
            查询最高工资和员工数
              select max(sal),count(*) from emp
            查询不同部门的最高工资
              select * from emp order by deptno
              select  deptno,max(sal) from emp group by deptno--使用group进行分组查询,分组的字段可以出现在查询中,其他字段依然不可以
            查询不同工作岗位的员工数
              select * from emp for update
              select lower(job),count(*) from emp group by lower(job)--使用单行函数进行分组
            查询不同部门的不同工作岗位的人数
              select deptno,job ,count(*) from emp group by deptno,job--使用多字段组合进行分组
              select deptno,job ,count(*) from emp group by deptno,job order by deptno
            查询不同部门的不同工作岗位的并且人数大于1的信息
              select count(*) from emp where count(*)>3 group by deptno
              select deptno,job ,count(*) from emp where count(*)>1 group by deptno,job order by deptno
            查询部门号大于10的不同部门的不同工作岗位的人数
              select deptno,job ,count(*) from  emp where deptno>10 group by deptno,job order by deptno
            使用having进行分组后筛选
            having学习:
                 --1、使用group by分组后在进行数据筛选的时候,where中不能出现多行函数,所以使用新的关键字having进行条件筛选
                 --2、where条件筛选的执行顺序:from-->where--->group -->select
                 --3、having条件筛选的执行顺序:from-->group by -->having-->select
                 --4、where的执行效率比having要高,能使用where的情况下尽量不要使用having
            查询不同部门的不同工作岗位的并且人数大于1的信息
            使用where语句进行筛选
            where条件语句sql执行顺序:from-->where--->group -->select
              select count(*) from emp where count(*)>1 group by deptno,job
            使用having语句进行筛选
            having条件语句的执行顺序:from-->group by -->having-->select
              select deptno, count(*) from emp  group by deptno having count(*)>5
              select deptno,job ,count(*) from  emp  group by deptno,job  having deptno>10 order by deptno
    

      

  • 相关阅读:
    java进程占用CPU高的问题
    上下文切换的案例以及CPU使用率
    百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview
    Android APK反编译
    Binary XML file line #17<vector> tag requires viewportWidth > 0
    用代码实现签名
    百度地图出现UnsatisfiedLinkError: Native method not found: com.baidu...
    INSTALL_FAILED_INVALID_APK
    Android package属性、package name和Application ID三者的联系及区别
    Android使用百度定位API时获取的地址信息为null
  • 原文地址:https://www.cnblogs.com/eadela/p/11455469.html
Copyright © 2011-2022 走看看