人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-03-11 15:16 | 文章來源:源碼之家

1.概述

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

2.語法規(guī)則

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

3.舉例說明

我們有這樣一個訂單表:

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

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

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

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

4.注意點

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

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

會報錯,因為select 的字段要么包含在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í)有所幫助,也希望大家多多支持本站。

海外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部