1. 程式人生 > >mysql資料庫 count() 函式和 sum() 函式用法和區別

mysql資料庫 count() 函式和 sum() 函式用法和區別

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

sum() 函式用於計算某一欄位中所有行的數值之和( sum 求和時會對 null 進行過濾,不計算),例如如下查詢:

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) 進行結果的轉換。