mysql求和函數(shù)是什么

mysql求和函數(shù)有兩種:1、count()函數(shù),用于統(tǒng)計(jì)查詢結(jié)果中的行數(shù);2、sum()函數(shù),用于計(jì)算某一字段中所有行的數(shù)值之和。

mysql求和函數(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)計(jì)查詢結(jié)果中的行數(shù),例如我們有下表?user_auth

mysql求和函數(shù)是什么

使用 count() 函數(shù)來查詢結(jié)果個(gè)數(shù),使用如下查詢:

mysql > select count(*) from user_auth ;? ?

mysql求和函數(shù)是什么

? ? ? ? 注意的是,count 會(huì)忽略掉 NULL 的結(jié)果,?所以 count(字段名) 這樣使用的話,如果字段中包含為null的結(jié)果,將導(dǎo)致查詢結(jié)果不準(zhǔn)確,我們將表中數(shù)據(jù)更改如下:

mysql求和函數(shù)是什么

此時(shí)查詢:mysql > select count(user_id) from user_auth;結(jié)果如下:

mysql求和函數(shù)是什么

2、mysql sum() 函數(shù)用于計(jì)算某一字段中所有行的數(shù)值之和( sum 求和時(shí)會(huì)對(duì) null 進(jìn)行過濾,不計(jì)算),例如如下查詢:

mysql > select sum(user_id) from user_auth; 結(jié)果如下:

mysql求和函數(shù)是什么

另外也能使用 sum(條件) 進(jìn)行對(duì)符合條件的結(jié)果行數(shù)進(jìn)行求和,如下查詢:

mysql > select sum(user_id is null),sum(aid = 1) from user_auth; 結(jié)果如下:

mysql求和函數(shù)是什么

需要注意的是,如果在沒有返回行中使用 sum() 函數(shù),sum 函數(shù)的返回值為 null,不是 0,例:

mysql > select sum(user_id) from user_auth where id not in (2,4,6);結(jié)果如下:

mysql求和函數(shù)是什么

此時(shí)使用JDBC或者一些第三方框架進(jìn)行映射時(shí)就會(huì)報(bào)錯(cuò),解決辦法是:使用IFNULL(sum(user_id),0) 或者 COALESCE(sum(user_id),0) 進(jìn)行結(jié)果的轉(zhuǎn)換。

【相關(guān)推薦:mysql視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享