所有的集合函數都可以加入關鍵字 "distinct" 來去除相同的記錄。比如 count(distinct X) 會回傳所有不同記錄的總筆數。

  1. avg(X)

    計算 X 值的平均值,X=NULL 沒有加入計算。字串及 BLOB 看起來不像數字則被當成 0 值,其它會自動轉換成數字。當所有 X 皆為 NULL 則 avg(X) 回傳 NULL。avg(X) 回傳值為浮點數,即使 X 皆為整數也是回傳浮點數。

  2. count(X)

    計算 X 的總筆數,X=NULL 沒有加入計算。

  3. count()

    計算記錄所有筆數。

  4. group_concat(X), group_concat(X, Y)

    連結所有 X 值成一個字串,以 Y 值為連結字,如果沒有 Y 值,則以 "," 為連結字,X=NULL 沒有加入連結。X 加入連結的出現順序是隨機的,沒有規律。

  5. max(X)

    計算最大值。

  6. min(X)

    計算最小值。

  7. sum(X), total(X)

    計算 X 值的總和,X=NULL 沒有加入計算。假如所 X 皆為 NULL,則 sum(X) 回傳 NULL,total(X) 回傳 0.0。total(X) 回傳值皆為浮點數。只要所有非 NULL 的 X 值皆為整數,則 sum(X) 回傳整數,否則會回傳一個近似值的浮點數。sum(X) 有可能會產生一個 "integer overflow" 的例外,但 total(X) 則不會產生任何例外。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()