求和函數的用法「mysql求和函數語法」

多行處理函數又叫分組函數:

1、count:計數

2、sum:求和

3、avg:平均值

4、max:最大值

5、min:最小值

多行處理函數的特點:

1)輸入多行,最終輸出的結果為1行。

2)分組函數自動忽略null

現在有員工表信息如下:mysql 多行處理函數和單行處理函數

員工表

select count(comm) from emp; //結果:4

可以看出一共有14行記錄,但是count(comm)的時候結果等於4,說明count函數自動過濾掉為null的comm字段。

3)有null參數的數學運算結果一定為null

還是上面員工表的信息,我們查詢每個員工的年薪,年薪=(工資+補貼)* 12 也就是:

(sal + comm) 12;

select ename , (sal + comm) * 12 as yealsal from emp; mysql 多行處理函數和單行處理函數

員工年薪

從結果中我們可以看到,只要別貼comm為null的,查詢出來的年薪也是等於null,這也就說明了只要有null參與的數學運算,結果一定為null。

這個時候我們就需要一個單行處理函數來解決這樣的問題:ifnull(‘為null的字段’ , ‘為null的時候當做什麼來處理’),所以sql語句可以改成如下:

select ename , (sal + ifnull(comm,0)) * 12 as yealsal from emp; mysql 多行處理函數和單行處理函數

員工年薪

最後我們再來看一個需求來證明:分組函數自動忽略null

計算所有員工的別貼comm總和:select sum(comm) from emp;

在comm別貼字段中,含有為null的值,所有查詢的結果應該為null,我們執行並查看結果:mysql 多行處理函數和單行處理函數

員工補貼總和

我們發現結果並不是null,而是自動將為null的值過濾掉了,所以我們再次證明了分組函數會自動過濾null值。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/258753.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-15 16:28
下一篇 2024-12-15 16:28

相關推薦

發表回復

登錄後才能評論