主頁(yè) > 知識(shí)庫(kù) > 深入淺析SQL中的group by 和 having 用法

深入淺析SQL中的group by 和 having 用法

熱門標(biāo)簽:智能語(yǔ)音外呼系統(tǒng)選哪家 武漢長(zhǎng)沙外呼系統(tǒng)方法和技巧 外呼系統(tǒng)電銷專用 怎樣在地圖上標(biāo)注路線圖標(biāo) 京華物流公司地圖標(biāo)注 優(yōu)質(zhì)地圖標(biāo)注 百度地圖標(biāo)注不同路線 奧威地圖標(biāo)注多個(gè)地方 千呼電銷機(jī)器人價(jià)格

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

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

  作用:通過(guò)一定的規(guī)則將一個(gè)數(shù)據(jù)集劃分成若干個(gè)小的區(qū)域,然后針對(duì)若干個(gè)小區(qū)域進(jìn)行數(shù)據(jù)處理。

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

  舉例說(shuō)明:如果要用到group by 一般用到的就是“每”這個(gè)字, 例如現(xiàn)在有一個(gè)這樣的需求:查詢每個(gè)部門有多少人。就要用到分組的技術(shù) 

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

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

二、group by 和having 解釋

  前提:必須了解sql語(yǔ)言中一種特殊的函數(shù)——聚合函數(shù)。

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

  WHERE關(guān)鍵字在使用集合函數(shù)時(shí)不能使用,所以在集合函數(shù)中加上了HAVING來(lái)起到測(cè)試查詢結(jié)果是否符合條件的作用。

  having稱為分組過(guò)濾條件,也就是分組需要的條件,所以必須與group by聯(lián)用。

  需要注意說(shuō)明:當(dāng)同時(shí)含有where子句、group by 子句 、having子句及聚集函數(shù)時(shí),執(zhí)行順序如下:

  1、執(zhí)行where子句查找符合條件的數(shù)據(jù);

  2、使用group by 子句對(duì)數(shù)據(jù)進(jìn)行分組;

  3、對(duì)group by 子句形成的組運(yùn)行聚集函數(shù)計(jì)算每一組的值;

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

  having 子句中的每一個(gè)元素也必須出現(xiàn)在select列表中。有些數(shù)據(jù)庫(kù)例外,如oracle.

  having子句和where子句都可以用來(lái)設(shè)定限制條件以使查詢結(jié)果滿足一定的條件限制。

  having子句限制的是組,而不是行。聚合函數(shù)計(jì)算的結(jié)果可以當(dāng)條件來(lái)使用,where子句中不能使用聚集函數(shù),而having子句中可以。

總結(jié)

以上所述是小編給大家介紹的SQL中的group by 和 having 用法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

標(biāo)簽:威海 銅仁 宿州 七臺(tái)河 天水 益陽(yáng) 來(lái)賓 防疫戰(zhàn)設(shè)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《深入淺析SQL中的group by 和 having 用法》,本文關(guān)鍵詞  深入,淺析,SQL,中的,group,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《深入淺析SQL中的group by 和 having 用法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于深入淺析SQL中的group by 和 having 用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章