Welcome 歡迎光臨! 愛上網路 - 原本退步是向前

聚合函數

在SQL 中,你可以在GROUP BY之後使用HAVING關鍵字根據指定條件查詢資料庫。
與其他關鍵字一樣,它會傳回滿足條件的資料並過濾掉其餘的資料。

引入HAVING關鍵字是因為WHERE子句無法與聚合函數一起使用。
因此,你必須將HAVING子句與聚合函數一起使用,而不是WHERE。


having是分組(group by)後的篩選條件,分組後的資料組內再篩選
where則是在分組前篩選

通過使用GROUP BY 子句,可以讓SUM 和 COUNT 這些函式對屬於一組的資料起作用。 
當你指定 GROUP BY region 時, 屬於同一個region(地區)的一組資料將只能返回一行值. 


也就是說,表中所有除region(地區)外的欄位,只能通過 SUM, COUNT等聚合函式運算後返回一個值. 

HAVING子句可以讓我們篩選成組後的各組資料. 
WHERE子句在聚合前先篩選記錄.也就是說作用在GROUP BY 子句和HAVING子句前. 
而 HAVING子句在聚合後對組記錄進行篩選。
 

 

SQL語法常用的聚合函數

COUNT()函數來計算指定欄位的數量

AVG()可以計算指定欄位資料的平均值

MAX()可以計算欄位資料的最大值。

MIN()可以計算欄位資料的最小值

SUM()可以計算欄位資料的總和。

GROUP BY可以把資料分類,例如我們之前在使用SUM()時,只能計算全部資料的SUM(),或是用WHERE來限制資料,
但有GROUP BY後,我們可以指定SUM()的資料要GROUP BY類別。

HAVING就是GROUP BY的WHERE,
HAVING可以過濾GROUP BY以後的資料,

 

[ 資料庫 ] 瀏覽次數 : 107 更新日期 : 2024/05/16