這篇文章主要為大家展示了“MySQL求和函數(shù)是哪個”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“mysql求和函數(shù)是哪個”這篇文章吧。
創(chuàng)新互聯(lián)專注于茅箭企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。茅箭網(wǎng)站建設(shè)公司,為茅箭等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
mysql求和函數(shù)有兩種:1、count()函數(shù),用于統(tǒng)計查詢結(jié)果中的行數(shù);2、sum()函數(shù),用于計算某一字段中所有行的數(shù)值之和。
本文操作環(huán)境:windows7系統(tǒng)、mysql 5.7版本、Dell G3電腦。
mysql求和函數(shù)是什么?
count()
函數(shù)和 sum()
函數(shù)
他們的用法和區(qū)別:
1、mysql數(shù)據(jù)庫中 count()函數(shù)是統(tǒng)計查詢結(jié)果中的行數(shù),例如我們有下表 user_auth:
使用 count()函數(shù)來查詢結(jié)果個數(shù),使用如下查詢:
mysql > select count(*) from user_auth;
注意的是,count會忽略掉 NULL 的結(jié)果, 所以 count(字段名)這樣使用的話,如果字段中包含為null的結(jié)果,將導(dǎo)致查詢結(jié)果不準(zhǔn)確,我們將表中數(shù)據(jù)更改如下:
此時查詢:mysql > select count(user_id) from user_auth;結(jié)果如下:
2、mysql中 sum()函數(shù)用于計算某一字段中所有行的數(shù)值之和( sum求和時會對 null進(jìn)行過濾,不計算),例如如下查詢:
mysql > select sum(user_id) from user_auth; 結(jié)果如下:
另外也能使用 sum(條件)進(jìn)行對符合條件的結(jié)果行數(shù)進(jìn)行求和,如下查詢:
mysql > select sum(user_id is null),sum(aid = 1) from user_auth; 結(jié)果如下:
需要注意的是,如果在沒有返回行中使用 sum() 函數(shù),sum函數(shù)的返回值為 null,不是 0,例:
mysql > select sum(user_id) from user_auth where id not in (2,4,6);結(jié)果如下:
此時使用JDBC或者一些第三方框架進(jìn)行映射時就會報錯,解決辦法是:使用IFNULL(sum(user_id),0)或者 COALESCE(sum(user_id),0)進(jìn)行結(jié)果的轉(zhuǎn)換。
以上是“mysql求和函數(shù)是哪個”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!