• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • MySQL數據庫概述及數據準備
    MySQL數據庫常用命令
    MySQL數據庫查看表結構
    MySQL查詢字段
    MySQL條件查詢
    MySQL排序
    MySQL函數
    MySQL分組函數/聚合函數/多行處理函數
    MySQL分組查詢
    MySQL連接查詢
    MySQL子查詢
    MySQL UNION
    MySQL中limit的用法
    MySQL表
    MySQL存儲引擎
    MySQL事務
    MySQL索引
    MySQL視圖
    MySQL DBA命令
    MySQL數據庫設計的三大范式
    MySQL數據庫練習題

    MySQL分組查詢

     

     

    分組查詢主要涉及到兩個子句,分別是:group by和having。

     

     

    group by

     

    ● 取得每個工作崗位的工資合計,要求顯示崗位名稱和工資合計

     

    select job, sum(sal) from emp group by job;

     

     

    如果使用了order by,order by必須放到group by后面

     

     

    ● 按照工作崗位和部門編碼分組,取得的工資合計

     

    1、原始數據

     

     

    2、分組語句

     

    select job,deptno,sum(sal) from emp group by job,deptno;

     

     

    mysql> select empno,deptno,avg(sal) from emp group by deptno;

     

    +-------+--------+-------------+

     

    | empno | deptno | avg(sal)    |

     

    +-------+--------+-------------+

     

    |  7782 |     10 | 2916.666667 |

     

    |  7369 |     20 | 2175.000000 |

     

    |  7499 |     30 | 1566.666667 |

     

    +-------+--------+-------------+

     

    以上SQL語句在Oracle數據庫中無法執行,執行報錯。

     

    以上SQL語句在Mysql數據庫中可以執行,但是執行結果矛盾。

     

    在SQL語句中若有group by 語句,那么在select語句后面只能跟分組函數+參與分組的字段。

     

     

    having

     

    如果想對分組數據再進行過濾需要使用having子句;

     

    取得每個崗位的平均工資大于2000;

     

    select job, avg(sal) from emp group by job having avg(sal) >2000;

     

     

    分組函數的執行順序:

     

    ● 根據條件查詢數據

     

    ● 分組

     

    ● 采用having過濾,取得正確的數據

     

     

    select語句總結

     

    一個完整的select語句格式如下:

     

    select 字段
    from 表名
    where …….
    group by ……..
    having …….(就是為了過濾分組后的數據而存在的—不可以單獨的出現)
    order by ……..

     

    以上語句的執行順序

     

    ● 首先執行where語句過濾原始數據

     

    ● 執行group by進行分組

     

    ● 執行having對分組數據進行操作

     

    ● 執行select選出數據

     

    ● 執行order by排序

     

    原則:能在where中過濾的數據,盡量在where中過濾,效率較高。having的過濾是專門對分組之后的數據進行過濾的。

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏