mysql分組函數

來源:互聯網
上載者:User

標籤:

組函數針對的是指定欄位的非空值。注意:where子句中不能出現組函數!!!

avg()    平均值(只能針對數值型 )max()    最大值(不限制類型)min()    最小值(不限制類型)count()    計數(針對記錄數目,即行數)stddev()    方差(只能針對數值型)sum()    求和(只能針對數值型) 前提:person表
  1. id namedept_idsalarymanager_id
  2. 0001wangda101 8500[NULL]
  3. 0002wanger1033 000 0009
  4. 0003wangsan102 4000 0006
  5. 0004wangsi104 2000 0005
  6. 0005wangwu104 6000 0001
  7. 0006wangliu102 7000 0001
  8. 0007wangqi105 5000 0008
  9. 0008wangba105 5500 0001
  10. 0009wangjiu103 6000 0001
  11. 0010wangshi104 900 0005
  12. 0011wangsy103 5000 0009
  13. 0012wangse[NULL]3000[NULL]
  group by    排序(可以有一個或者多個欄位)功能:按照部門查詢各部門的平均工資
  1. SELECT
  2. dept_id,
  3. avg(salary)
  4. FROM
  5. person
  6. GROUP BY
  7. dept_id;
結果:
  1. dept_idavg(salary)
  2. [NULL]3000.000000
  3. 101 8500.000000
  4. 102 5500.000000
  5. 103 4666.666667
  6. 104 2966.666667
  7. 105 5250.000000
HAVING    在查詢條件中含有組函數時,用來替代WHERE(注意:在mysql中,having只能放在group by的後面!)功能:查詢部門平均工資高於5000的部門名稱(dept表)、部門平均工資(person表,組函數)
  1. SELECT
  2. p.dept_id,
  3. dept_name,
  4. avg(salary)
  5. FROM
  6. person p,dept d
  7. where p.dept_id = d.dept_id
  8. GROUP BY
  9. p.dept_id
  10. HAVING
  11. avg(salary)>5000;
結果:
  1. dept_iddept_nameavg(salary)
  2. 101 zongwu 8500.000000
  3. 102 zhenggong5500.000000
  4. 105 renshi 5250.000000
  

mysql分組函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.