组函数针对的是指定字段的非空值。注意:where子句中不能出现组函数!!!

avg()    平均值(只能针对数值型 )
max()    最大值(不限制类型)
min()    最小值(不限制类型)
count()    计数(针对记录数目,即行数)
stddev()    方差(只能针对数值型)
sum()    求和(只能针对数值型)
 
前提:person表
  1. id name dept_id salary manager_id
  2. 0001 wangda 101 8500[NULL]
  3. 0002 wanger 1033 000 0009
  4. 0003 wangsan 102 4000 0006
  5. 0004 wangsi 104 2000 0005
  6. 0005 wangwu 104 6000 0001
  7. 0006 wangliu 102 7000 0001
  8. 0007 wangqi 105 5000 0008
  9. 0008 wangba 105 5500 0001
  10. 0009 wangjiu 103 6000 0001
  11. 0010 wangshi 104 900 0005
  12. 0011 wangsy 103 5000 0009
  13. 0012 wangse [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_id avg(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_id dept_name avg(salary)
  2. 101 zongwu 8500.000000
  3. 102 zhenggong 5500.000000
  4. 105 renshi 5250.000000
 
 

mysql分组函数的更多相关文章

  1. mysql分组函数与查询

    Ⅰ.分组函数的分类: max():最大值 min():最小值 sum():和 avg():平均值 count():计算非空的个数 这些都是通用的,sqlserver.oracle.mysql都是一样的 ...

  2. mysql分组函数及其用例

    功能:用作统计使用,又称为聚合函数或统计函数或组函数 分类:sum 求和.avg 平均值.max 最大值 .min 最小值 .count 计算个数 特点: 1.sum.avg一般用于处理数值型,max ...

  3. MySql 分组函数

    #二.分组函数/*功能:用作统计使用,又称为聚合函数或统计函数或组函数 分类:sum 求和.avg 平均值.max 最大值 .min 最小值 .count 计算个数 特点:1.sum.avg一般用于处 ...

  4. MySql分组函数-Group by与having理解

    注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. 1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用 group ...

  5. mysql 分组和聚合函数

    mysql 分组和聚合函数 Mysql 聚集函数有5个: 1.COUNT() 记录个数(count(1),count(*)统计表中行数,count(列名)统计列中非null数) 2.MAX() 最大值 ...

  6. mysql基础教程(二)-----分组函数、多表查询、常见函数

    分组函数 什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值. 组函数类型 • AVG() • COUNT() • MAX() • MIN() • SUM() 组函数语法 AVG(平均值) ...

  7. mysql聚合函数和分组

    文章实例的数据表,来自上一篇博客<mysql简单查询>:http://blog.csdn.net/zuiwuyuan/article/details/39349611 一. 聚合函数 聚合 ...

  8. (四)MySQL条件查询(通配符、模糊查询)、排序查询、分组查询(单行、分组函数)

    一.条件查询 1.含义:前面学的基础查询可以查询一个或多个字段,如果需要的数据仅仅是其中的某一行或多行就用到了条件查询. 2.语法:(序号表示语句执行顺序) SELECT 字段名 ③ FROM 表名 ...

  9. mysql 字符串函数、分组函数

    字符串函数 1.concat 函数 drop table test;create table test(id int(4), name varchar(10), sex char(2));insert ...

随机推荐

  1. TYVJ 4354 多重背包二进制优化

    直接放代码了 #include <cstdio> #include <cstring> #include <algorithm> using namespace s ...

  2. CGRectInset & CGRectOffset

    1.CGRectInset CGRect CGRectInset (   CGRect rect,   CGFloat dx,   CGFloat dy);以原rect为中心,再参考dx,dy,进行缩 ...

  3. 如何解决 win10连了VPN怎么上外网

    当前用户配置%AppData%\Microsoft\Network\Connections\Pbk与所有用户共享配置%ProgramData%\Microsoft\Network\Connection ...

  4. jquery 插件

    1 jquery.slimscroll.min.js:虚拟滚轴 2 jquery.steps.js:步骤(注册下一步) 3 jquery-barcode.js:条形码

  5. 多模块打包后,扫描不到@controller和@service,实现 ADD DIRECTORY ENTRIES

    多模块打包后,扫描不到@controller和@service等Bean. 原因:打包时没有生成目录信息 解决办法: 1.在eclipse或者myeclipse 打包时 勾选 ADD DIRECTOR ...

  6. final评价Ⅱ

    1.飞天小女警: 礼物挑选这个项目相比之前的发布功能更完善了些,但是整体界面还是不太美观,用户界面上呈现出的选项字不够清晰,使用起来不是很方便,但是增加了猜你喜欢的功能,可以根据用户的浏览记录猜测用户 ...

  7. Java & Android Color-Background

    int i = Color.parseColor("#FFFFFF"); int j = Color.rgb(255,255,255); 1.SetBackground(Drawa ...

  8. 使用SAXReader读取ftp服务器上的xml文件(原创)

    根据项目需求,需要监测ftp服务器上的文件变化情况,并将新添加的文件读入项目系统(不需要下载). spring配置定时任务就不多说了,需要注意的一点就是,现在的项目很多都是通过maven构建的,分好多 ...

  9. UVA1003(dfs+进制转换)

    题意:输入很多字符的16进制数,现在需要你先转化为2进制,之后二进制中1和0组成的字符需要你求出来. 思路:字符每一个都有所不同可以靠圆圈的数目求出. #include<cstdio> # ...

  10. golang 文件操作

    package main import (     "bytes"     "fmt"     "io"     "os" ...