组函数针对的是指定字段的非空值。注意: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. 【转载】RMAN备份保留策略设置相关命令

    转自 http://blog.sina.com.cn/s/blog_7c5a82970101g4s7.html 策略有两种,一种是基于恢复窗口策略的,一种是基于冗余策略的. 基于恢复窗口策略: 定义的 ...

  2. SQL EXEC 命令用法

    EXEC命令有两个用法: 1.执行一个存储过程,或者执行一个动态批次. 2.批次是一个内容为SQL语句的字符串. 举列子: 1.exec name_proc :没有参数 exec name_proc ...

  3. operating system

    一.对于子进程,系统调用fork()的返回值为0:而对于父进程,返回值为子进程的进程标识符

  4. HDU-2825 Wireless Password(AC自动机+状压DP)

    题目大意:给一系列字符串,用小写字母构造出长度为n的至少包含k个字符串的字符串,求能构造出的个数. 题目分析:在AC自动机上走n步,至少经过k个单词节点,求有多少种走法. 代码如下: # includ ...

  5. VS安装及单元测试

    VS安装过程: 最大子数组算法已提交至coding.net: https://git.coding.net/CoCoBeer/Maxsubaray.git 用例编号 用例描述 输入数据 预期输出数据 ...

  6. SQL增删改语句常用

    创建table: create table tab_name( col1 type; 约束:主键-外键-非空-检查-唯一 col2 type; ); 删除表 : drop table tab_name ...

  7. SpringMVC——返回JSON数据&&文件上传下载

    --------------------------------------------返回JSON数据------------------------------------------------ ...

  8. CentOS 6 到 CentOS 7

    redhat提供了一个redhat-upgrade-tool的升级工具: [1]配置软件源   # vim /etc/yum.repos.d/upgrade.repo [upgrade] name=u ...

  9. myeclipse激活时cracker2015.jar打不开

    myeclipse激活时cracker2015.jar打不开 可能是jdk版本的问题 这是我用的myeclipse版本 myeclipse-2016-ci-7-offline-installer-wi ...

  10. Unexpected end of file from server 服务器访问问题导致

    Caused by: java.net.SocketException: SocketException invoking http://xxxx/cxf/xh/creditInterface?wsd ...