Mysql聚合函數的使用介紹

前言

聚合函數用來對表中的數據進行統計和計算。users表結構如下:

什麼是聚合函數

聚合函數是用來做簡單的數據統計的,比如說統計一下 “員工表” 中的平均工齡是多少年啊,員工表中一共有多少條記錄等等… 這些都需要使用到聚合函數。

聚合函數也被稱為 “匯總函數” ,在數據的查詢分析中,應用的十分廣泛。可以幫助我們實現對數據的求和、求最大值、求最小值、求平均值等等。

如果不指定統計的范圍,那麼聚合函數統計的范圍就是整張數據表,該章節我們所講解的 “聚合函數” 就是針對整張數據表范圍的。

聚合函數演示案例:(求員工表中的平均月收入是多少?)

SELECT AVG(sal + IFNULL(comm,0)) AS 平均工資
from t_emp;
-- AVG:聚合函數,求平均值使用
-- IFNULL:IFNULL 函數的語法,當第一個參數的值為null 的時候,則返回第二個參數的值

PS:需要註意的地方,在聚合函數的返回結果集(無論是求和、最大值、最小值、還是求平均數),結果集隻有一個返回數據。

SUM 函數

SUN 函數用於求和,隻能用於數字類型;如果用於字符類型的數據,則統計結果為0;如果用於時間類型的數據的求和,則結果是毫秒數的相加。

SQL 語句演示 SUM函數 案例(統計 10、20 部門的員工的月薪的總和)

SELECT SUM(sal)
FROM t_emp
WHERE deptno IN (10, 20)

SQL 語句演示 SUM函數 案例(統計 ename(字段) 的綜合 )

SELECT SUM(ename)
FROM t_emp
WHERE deptno IN (10, 20)

count

使用count統計某個字段的總行數,要註意區分包含null和不包含null

//不包含null
select count(user_id)  from users;  //8
//包含null
select count(*) from users; //10

max與min

max和main函數用來求某一列的最大值/最小值

//求男生的最大年齡
select max(age) from user where gender = '男'; //6

sum

使用sum對某一列進行求和

//對age大於30的列進行求和
select sum(age) from users where age>30; 
//求平均年齡
select sum(age)  / count(*) from usersl;

avg

avg函數用來計算列的平均值

//求男生的平均年齡,結果不準null列沒有計算在內
select avg(age) from users where gender = '男';
//將age為null的也計算在內
select avg(ifnull(age,0)) from users where gender = '男';

總結

  • count函數用來求某一字段的行數不包含null,count(*)用來求總行數
  • max\min函數用來計算某一列的最大\最小值
  • sum函數對某一列進行求和
  • avg函數用來計算平均數
  • 在對列進行計算式,聚合函數會默認忽略值為null的記錄,使用ifnull進行null值的替換

到此這篇關於Mysql聚合函數的使用介紹的文章就介紹到這瞭,更多相關Mysql聚合函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: