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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM