mysql資料庫 count() 函式和 sum() 函式用法和區別
阿新 • • 發佈:2019-02-11
1、mysql 資料庫中 count() 函式是統計查詢結果中的行數,例如我們有下表 user_auth :
使用 count() 函式來查詢結果個數,使用如下查詢:
mysql > select count(*) from user_auth ;
注意的是,count 會忽略掉 NULL 的結果, 所以 count(欄位名) 這樣使用的話,如果欄位中包含為null的結果,將導致查詢結果不準確,我們將表中資料更改如下:
此時查詢:mysql > select count(user_id) from user_auth;結果如下:
2、mysql
mysql > select sum(user_id) from user_auth; 結果如下:
另外也能使用 sum(條件) 進行對符合條件的結果行數進行求和,如下查詢:
mysql > select sum(user_id is null),sum(aid = 1) from user_auth; 結果如下:
需要注意的是,如果在沒有返回行中使用 sum() 函式,sum 函式的返回值為 null,不是 0,例:
mysql > select sum(user_id) from user_auth where id not in (2,4,6)
此時使用JDBC或者一些第三方框架進行對映時就會報錯,解決辦法是:使用IFNULL(sum(user_id),0) 或者 COALESCE(sum(user_id),0) 進行結果的轉換。