佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 簡單講解sql語句中的group by的使用方法

簡單講解sql語句中的group by的使用方法

熱門標(biāo)簽:鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 服務(wù)外包 Linux服務(wù)器 百度競價(jià)排名 AI電銷 呼叫中心市場需求

1.概述

group by 就是依據(jù)by 后面的規(guī)則對數(shù)據(jù)分組,所謂的分組就是講數(shù)據(jù)集劃分成若干個(gè)'小組',針對若干個(gè)小組做處理。

2.語法規(guī)則

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

3.舉例說明

我們有這樣一個(gè)訂單表:
 

我們希望統(tǒng)計(jì)每一個(gè)用戶訂單的總金額,我們可以借助 group by 來實(shí)現(xiàn):

select Customer,sum(OrderPrice) as total_price group by Customer;

出現(xiàn)下面的結(jié)果集:
Bush 2000
Carter 1700
Adams 2000
實(shí)際上是先講數(shù)據(jù)按照Customer分組,然后統(tǒng)計(jì)每一組orderPrice的總和,最后以一組作為一行展現(xiàn)出來。
如果去掉group by 語句就會(huì)出現(xiàn)下面的結(jié)果:

它是講所有的price相加得到最后的總和,與我們的預(yù)期是不一樣的。

4.注意點(diǎn)

如果出現(xiàn)下面的寫法:

select 類別, sum(數(shù)量) as 數(shù)量之和, 摘要from Agroup by 類別order by 類別 desc

會(huì)報(bào)錯(cuò),因?yàn)閟elect 的字段要么包含在group by 后面作為分組的依據(jù),要么包含在聚合函數(shù)中,否則摘要的那一列無法匹配到一行。
因此可以采用如下的寫法:

select 類別, sum(數(shù)量) AS 數(shù)量之和from Agroup by 類別order by sum(數(shù)量) desc

如果想使用多列分組,可以采用group by all語法:

select Customer,OrderDate,sum(OrderPrice) group by all Customer,OrderDate

5.where 和having的區(qū)別

where 是在查詢分組前,講不符合where 條件的行去掉,即在分組錢過濾數(shù)據(jù),where 條件中不能包含聚合函數(shù)
having 是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),having語句中常常包含聚合函數(shù),用having過濾出特定的組。
舉例:

select Customer,sum(OrderPrice) as total_price group by Customer having total_price>1700;

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 一篇文章帶你了解數(shù)據(jù)庫中g(shù)roup by的用法
  • MySQL group by對單字分組序和多字段分組的方法講解
  • pymongo中g(shù)roup by的操作方法教程

標(biāo)簽:湘潭 仙桃 崇左 銅川 黃山 衡水 湖南 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《簡單講解sql語句中的group by的使用方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    盘锦市| 金坛市| 比如县| 镇原县| 庆阳市| 兴文县| 邹城市| 平江县| 瓦房店市| 昂仁县| 五河县| 个旧市| 张家口市| 夏河县| 福安市| 岫岩| 天台县| 利津县| 陆丰市| 新绛县| 淮北市| 化德县| 灵武市| 乌鲁木齐市| 宣恩县| 邵东县| 沂源县| 县级市| 厦门市| 肇源县| 仁怀市| 义乌市| 大厂| 聂荣县| 北宁市| 五指山市| 长白| 盐城市| 阳江市| 乐都县| 翁牛特旗|