<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • 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值。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费