<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      總結SQL中的group by 與 having 用法相關總結

      [摘要]這篇文章主要介紹了SQL中的group by 和 having 用法淺析,需要的的朋友參考下吧一、sql中的group by 用法解析:  Group By語句從英文的字面意義上理解就是“根據(by...
      這篇文章主要介紹了SQL中的group by 和 having 用法淺析,需要的的朋友參考下吧

      一、sql中的group by 用法解析:

        Group By語句從英文的字面意義上理解就是“根據(by)一定的規則進行分組(Group)”。

        作用:通過一定的規則將一個數據集劃分成若干個小的區域,然后針對若干個小區域進行數據處理。

        注意:group by 是先排序后分組!

        舉例說明:如果要用到group by 一般用到的就是“每”這個字, 例如現在有一個這樣的需求:查詢每個部門有多少人。就要用到分組的技術 


      select DepartmentID as '部門名稱',COUNT(*) as '個數'
        from BasicDepartment
        group by DepartmentID

        這個就是使用了group by +字段進行了分組,其中我們就可以理解為我們按照部門的名稱ID
        DepartmentID將數據集進行了分組;然后再進行各個組的統計數據分別有多少;

      二、group by 和having 解釋

        前提:必須了解sql語言中一種特殊的函數——聚合函數。

        例如:SUM, COUNT, MAX, AVG等。這些函數和其它函數的根本區別就是它們一般作用在多條記錄上。

        WHERE關鍵字在使用集合函數時不能使用,所以在集合函數中加上了HAVING來起到測試查詢結果是否符合條件的作用。

        having稱為分組過濾條件,也就是分組需要的條件,所以必須與group by聯用。

        需要注意說明:當同時含有where子句、group by 子句 、having子句及聚集函數時,執行順序如下:

        1、執行where子句查找符合條件的數據;

        2、使用group by 子句對數據進行分組;

        3、對group by 子句形成的組運行聚集函數計算每一組的值;

        4、最后用having 子句去掉不符合條件的組。

        having 子句中的每一個元素也必須出現在select列表中。有些數據庫例外,如oracle.

        having子句和where子句都可以用來設定限制條件以使查詢結果滿足一定的條件限制。

        having子句限制的是組,而不是行。聚合函數計算的結果可以當條件來使用,where子句中不能使用聚集函數,而having子句中可以。

      以上就是總結SQL中的group by 和 having 用法相關總結的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清