首頁 > 軟體

Mysql聚合函數的使用介紹

2022-10-16 14:00:22

前言

聚合函數用來對錶中的資料進行統計和計算。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(*)用來求總行數
  • maxmin函數用來計算某一列的最大最小值
  • sum函數對某一列進行求和
  • avg函數用來計算平均數
  • 在對列進行計算式,聚合函數會預設忽略值為null的記錄,使用ifnull進行null值的替換

到此這篇關於Mysql聚合函數的使用介紹的文章就介紹到這了,更多相關Mysql聚合函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com