mysql_聚合函數(shù)

一. 聚合函數(shù)介紹
1.聚合函數(shù)也叫做分組函數(shù)或者聚集函數(shù),它是對一組數(shù)據(jù)進行匯總的函數(shù),輸入的是一組數(shù)據(jù)的集合,輸出的是單個值。
2.聚合函數(shù)作用于一組數(shù)據(jù),并對一組數(shù)據(jù)返回一個值。

二.聚合函數(shù)類型?
AVG()????平均值
SUM()?????求和
MAX()?????最大值
MIN()?????最小值
COUNT()????計數(shù)
聚合函數(shù)不能嵌套調(diào)用。比如不能出現(xiàn)類似“AVG(SUM(字段名稱))”形式的調(diào)用。

三.GROUP BY 的使用
可以使用GROUP BY子句將表中的數(shù)據(jù)分成若干組
結(jié)論:
1. SELECT中出現(xiàn)的非組函數(shù)的字段必須聲明在GROUP BY 中。
2. GROUP BY 聲明在FROM后面、WHERE后面,ORDER BY 前面、LIMIT前面

三. HAVING的使用 (作用:用來過濾數(shù)據(jù)的)
? WHERE 與 HAVING 的對比
1. 從適用范圍上來講,HAVING的適用范圍更廣。?
2. 如果過濾條件中沒有聚合函數(shù):這種情況下,WHERE的執(zhí)行效率要高于HAVING

四.SQL底層執(zhí)行原理
2.SQL語句的執(zhí)行過程
FROM 表1,表2-> ON -> (LEFT/RIGNT? JOIN) -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT

五.練習
標簽: