欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

group by的使用說明

系統 1704 0

?

SQL HAVING 出現的原因

  在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與合計函數一起使用。

SQL HAVING 語法

      
        SELECT
      
      
         column_name, aggregate_function(column_name)


      
      
        FROM
      
      
         table_name


      
      
        WHERE
      
      
         column_name operator value


      
      
        GROUP
      
      
        BY
      
      
         column_name


      
      
        HAVING
      
       aggregate_function(column_name) operator value
    

SQL HAVING 實例

我們擁有下面這個 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

現在,我們希望查找訂單總金額少于 2000 的客戶。

我們使用如下 SQL 語句:

      
        SELECT
      
       Customer,
      
        SUM
      
      (OrderPrice) 
      
        FROM
      
      
         Orders


      
      
        GROUP
      
      
        BY
      
      
         Customer


      
      
        HAVING
      
      
        SUM
      
      (OrderPrice)
      
        <
      
      
        2000
      
    

結果集類似:

Customer SUM(OrderPrice)
Carter 1700

現在我們希望查找客戶 "Bush" 或 "Adams" 擁有超過 1500 的訂單總金額。

我們在 SQL 語句中增加了一個普通的 WHERE 子句:

      
        SELECT
      
       Customer,
      
        SUM
      
      (OrderPrice) 
      
        FROM
      
      
         Orders


      
      
        WHERE
      
       Customer
      
        =
      
      
        '
      
      
        Bush
      
      
        '
      
      
        OR
      
       Customer
      
        =
      
      
        '
      
      
        Adams
      
      
        '
      
      
        GROUP
      
      
        BY
      
      
         Customer


      
      
        HAVING
      
      
        SUM
      
      (OrderPrice)
      
        >
      
      
        1500
      
    

結果集:

Customer SUM(OrderPrice)
Bush 2000
Adams 2000

?


  在select 語句中可以使用group by 子句將行劃分成較小的組,然后,使用聚組函數返回每一個組的匯總信息,另外,可以使用having子句限制返回的結果集。group by 子句可以將查詢結果分組,并返回行的匯總信息Oracle 按照group by 子句中指定的表達式的值分組查詢結果。

  在帶有group by 子句的查詢語句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚組函數

??

      
        select
      
      
        max
      
      (sal),job emp 
      
        group
      
      
        by
      
      
         job;

//(注意max(sal), job 的job并非一定要出現,但有意義 )
      
    

  查詢語句的select 和group by ,having 子句是聚組函數唯一出現的地方,在where 子句中不能使用聚組函數。

      
        select
      
       deptno,
      
        sum
      
      (sal) 
      
        from
      
       emp 
      
        where
      
       sal
      
        >
      
      
        1200
      
      
        group
      
      
        by
      
       deptno 
      
        having
      
      
        sum
      
      (sal)
      
        >
      
      
        8500
      
      
        order
      
      
        by
      
       deptno;
    

  當在gropu by 子句中使用having 子句時,查詢結果中只返回滿足having條件的組。在一個sql語句中可以有where子句和having子句。having 與where 子句類似,均用于設置限定條件。
?
  where 子句的作用是在對查詢結果進行分組前,將不符合where條件的行去掉,即在分組之前過濾數據,條件中不能包含聚組函數,使用where條件顯示特定的行。
  having 子句的作用是篩選滿足條件的組,即在分組之后過濾數據,條件中經常包含聚組函數,使用having 條件顯示特定的組,也可以使用多個分組標準進行分組。

  查詢每個部門的每種職位的雇員數
?

      
        select
      
       deptno,job,
      
        count
      
      (
      
        *
      
      ) 
      
        from
      
       emp 
      
        group
      
      
        by
      
       deptno,job;
    

?

如果你對何時應該使用WHERE,何時使用HAVING仍舊很迷惑,請遵照下面的說明: ?

  WHERE語句在GROUP BY語句之前;SQL會在分組之前計算WHERE語句。?

  HAVING語句在GROUP BY語句之后;SQL會在分組之后計算HAVING語句。

?

PS: 因為我遇到了這個問題,現在已經解決了,所以還是記錄哈。

?

group by的使用說明


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品免费国产一区二区三区四区 | 午夜精品久久久久久久星辰影院 | 爱爱视频网 | 欧美成人免费在线视频 | 991av | 午夜国产精品视频 | www.75zzz.com| 成人免费激情视频 | 青娱乐视觉盛宴在线 | 日本中文字幕一区二区有码在线 | 国产色婷婷亚洲99精品小说 | 2020国产精品视频免费 | 亚洲欧美日韩另类精品一区二区三区 | 欧美成a人片在线观看 | 国产免费A片好硬好爽好深小说 | 色99视频| 色天天久久 | 成人午夜视频在线播放 | 国产日韩欧美视频 | 2022国产成人精彩在线视频 | 一级毛片免费看 | 久久伊人中文字幕有码 | 午夜寂寞影视在线观看 | 亚洲色综合图区p | 久久天堂 | 国产精选经典三级小泽玛利亚 | 日本三级在线 | 麻豆高清免费国产一区 | 国产美女久久 | 日韩毛片大全免费高清 | 91精品国产综合久久精品 | 亚洲精品国产a久久久久久 亚洲国产精品第一页 | 亚洲 欧美 另类 综合 偷拍 | 中文字幕网在线 | 欧美午夜a级限制福利片 | 秋霞电影免费理论久久 | 日韩在线观看视频一区二区三区 | 午夜视频一区 | 精品久久久久久久人人人人传媒 | 日本三级网 | 国产精品午夜小视频观看 |