iT邦幫忙

5

只談MySQL (第32天) 系統函數(下二)

<<續>>
MySQL的函數大列9大類:

  1. 流程控制函數
  2. 字串函數
  3. 數值函數
  4. 日期時間函數
  5. 全文檢索函數
  6. 型別轉換函數
  7. XML函數
  8. 其他函數
  9. 用在Group By場合下的函數
    這裏介紹最一類9. 用在Group By場合下的函數
  10. 用在Group By場合下的函數
    GROUP BY是SELECT指令中常用的子句之一, 其他子句有WHERE、ORDER BY...我在這裏會介紹幾個較常用的Aggregate函數, 如果有與趣瞭解更多的網友, 可以查詢MySQL文件
  • AVG(): 取得平均值

  • COUNT(DISTINCT): 計數SELECT指令找到的資料錄, 各欄位內容不相同的資料錄數, 相同的就不算了

  • COUNT(): 計數SELECT指令找到的資料錄數, 相同的資料錄也照算

  • MAX(): 找到最大值

  • MIN(): 找出最小數

  • STD(): 回傳總體標準差

  • STDDEV_POP()(v5.0.3): 回傳標準差

  • STDDEV_SAMP()(v5.0.3): 回傳標準差

  • STDDEV(): 回傳標準差

  • SUM(): 計算總合

  • VAR_POP()(v5.0.3): 回傳標準變異

  • VAR_SAMP()(v5.0.3): 回傳標準變異

  • VARIANCE()(v4.1): 回傳標準變異
    舉例來說:

    mysql> SELECT LOCATION, AVG(SALARY), MIN(SALARY), MAX(SALARY), SUM(SALARY), COUNT(SALARY) FROM PAYROLL GROUP BY LOCATION;

這樣可以找出各辦公區域的平均薪資、最低薪資、最高薪資、總薪資、發薪人數的資料, 記得沒有用Aggregate函數的欄位都要放到GROUP BY子句中

mysql> SELECT LOCATION, DEPARTMENT, AVG(SALARY), MIN(SALARY), MAX(SALARY), SUM(SALARY), COUNT(SALARY) FROM PAYROLL GROUP BY LOCATION, DEPARTMENT;

這可以找出各地區的各個部門的資料, LOCATION和DEPARTMENT必需放在GROUP BY子句中...

分享到這裏, 總算把MySQL的函數做了個還算完整的介紹, 明天, 我會以實際的例子來說明如何在MySQL中建立較複雜的Stored Procedure應用


尚未有邦友留言

立即登入留言