91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sql語句中group by怎么用

發布時間:2021-07-29 10:30:57 來源:億速云 閱讀:174 作者:小新 欄目:MySQL數據庫

小編給大家分享一下sql語句中group by怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.概述

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

2.語法規則

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

3.舉例說明

我們有這樣一個訂單表:
sql語句中group by怎么用 

我們希望統計每一個用戶訂單的總金額,我們可以借助 group by 來實現:

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

出現下面的結果集:
Bush 2000
Carter 1700
Adams 2000
實際上是先講數據按照Customer分組,然后統計每一組orderPrice的總和,最后以一組作為一行展現出來。
如果去掉group by 語句就會出現下面的結果:
sql語句中group by怎么用
它是講所有的price相加得到最后的總和,與我們的預期是不一樣的。

4.注意點

如果出現下面的寫法:

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

會報錯,因為select 的字段要么包含在group by 后面作為分組的依據,要么包含在聚合函數中,否則摘要的那一列無法匹配到一行。
因此可以采用如下的寫法:

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

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

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

5.where 和having的區別

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

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

以上是“sql語句中group by怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡东县| 宿州市| 萍乡市| 德阳市| 临猗县| 沈阳市| 文山县| 南召县| 嘉善县| 高碑店市| 九龙城区| 城口县| 新绛县| 田东县| 贺兰县| 徐州市| 康定县| 深泽县| 晋江市| 辉县市| 乌苏市| 古交市| 三河市| 集安市| 东丽区| 平乡县| 盈江县| 兴宁市| 潜江市| 曲阜市| 富源县| 巨野县| 巴彦县| 陇川县| 阿城市| 疏附县| 花垣县| 焦作市| 朔州市| 鄱阳县| 镇康县|