聚合函数:COUNT统计记录的条数、SUM求和函数、AVG求平均值、MAX求最大值、MIN求最小值

一、COUNT练习:

1、统计学校一共有多少个学生:

mysql> SELECT COUNT(*) AS 'Total' FROM t_student;

+-------+

| Total |

+-------+

| 13 |

+-------+

1 row in set (0.01 sec)

2、统计每个年级各有多少学生:

mysql> SELECT COUNT(*) AS 'Total',gradeName FROM t_student GROUP BY gradeName;

+-------+-----------+

| Total | gradeName |

+-------+-----------+

| 6 | 一年级 |

| 3 | 三年级 |

| 4 | 二年级 |

+-------+-----------+

3 rows in set (0.00 sec)

3、在2的基础上添加学生总数:

mysql> select IFNULL(gradeName,'学生总数'),COUNT(*) AS Total from t_student Group By gradeName with Rollup;

+----------------------------------+-------+

| IFNULL(gradeName,'学生总数') | Total |

+----------------------------------+-------+

| 一年级 | 6 |

| 三年级 | 3 |

| 二年级 | 4 |

| 学生总数 | 13 |

+----------------------------------+-------+

4 rows in set (0.00 sec)

二、SUM求和函数:

1、查询所有学生的年龄总和:

mysql> SELECT SUM(age) AS '年龄总和' FROM t_student;

+--------------+

| 年龄总和 |

+--------------+

| 295 |

+--------------+

1 row in set (0.00 sec)

2、在1的基础上添加一班级为单位进行分组

mysql> SELECT SUM(age) AS '年龄总和',IFNULL(gradeName,'年级总年龄') AS '年级' FROM t_student GROUP BY gradeName WITH ROLLUP;

+--------------+-----------------+

| 年龄总和 | 年级 |

+--------------+-----------------+

| 135 | 一年级 |

| 66 | 三年级 |

| 94 | 二年级 |

| 295 | 年级总年龄 |

+--------------+-----------------+

4 rows in set (0.00 sec)

三、AVG平均值函数

1、查看全年级的平均年龄

mysql> SELECT AVG(AGE) AS '平均年龄' FROM t_student;

+--------------+

| 平均年龄 |

+--------------+

| 22.6923 |

+--------------+

1 row in set (0.00 sec)

2、在1的基础上进行按班级分组并在分组后统计总的平均年龄

mysql> SELECT AVG(AGE) AS '平均年龄',IFNULL(gradeName,'年级平均年龄') AS '年级平均年龄' FROM t_student GROUP BY gradeName WITH ROLLUP;

+--------------+--------------------+

| 平均年龄 | 年级平均年龄 |

+--------------+--------------------+

| 22.5000 | 一年级 |

| 22.0000 | 三年级 |

| 23.5000 | 二年级 |

| 22.6923 | 年级平均年龄 |

+--------------+--------------------+

4 rows in set (0.00 sec)

四、MAX求最大值:

1、查找每个年级的最大年龄并以年级进行排序:

mysql> SELECT MAX(age) AS '年龄最大',gradeName AS '年级' FROM t_student GROUP BY gradeName ;

+--------------+-----------+

| 年龄最大 | 年级 |

+--------------+-----------+

| 23 | 一年级 |

| 23 | 三年级 |

| 26 | 二年级 |

+--------------+-----------+

3 rows in set (0.00 sec)

五、MIN求最小值

1、查询每个年级中的最小年龄,并以年级进行排序:

mysql> SELECT MIN(age) AS'年龄最小',gradeName AS '年级' FROM t_student GROUP BY gradeName;

+--------------+-----------+

| 年龄最小 | 年级 |

+--------------+-----------+

| 21 | 一年级 |

| 20 | 三年级 |

| 21 | 二年级 |

+--------------+-----------+

3 rows in set (0.00 sec)

mysql统计每周每个学校新增学生数量_深入学习之mysql(四)聚合函数相关推荐

  1. 查询mysql数量_科研学习记录--MySQL

    一.MySQL简介 MySQL是一个轻量级的关系型数据库管理系统,使用C/C++编写,支持多种操作系统. 二.MySQL逻辑架构 MySQL逻辑架构为三层结构:客户端-核心服务-存储引擎. MySQL ...

  2. Mysql 统计每周,半个月的数据

    1.统计每周的数据 select DATE_FORMAT(sgfssj,'%Y%u') weeks,count(sgbh) count from s  group by weeks; 2.还有采用we ...

  3. mysql单表操作_深入学习之mysql(三)单表操作

    1.创建表的结构和数据 CREATE TABLE `t_student`( `id` INT PRIMARY KEY, `stuName` VARCHAR(10) NOT NULL, `age` IN ...

  4. MySQL基础学习(六)——聚合函数

    目录 1.聚合函数类型 (1)AVG(x) (2)SUM(x) (3)MAX(x) (4)MIN(x) (5)COUNT(x) 2.聚合函数的基本使用 (1)单列分组 (2)多列分组 (3)WITH ...

  5. MySQL中会用到age字段的索引_MySQL学习笔记(四):正确使用索引(二)

    上一篇学习到了MySQL中的索引是什么,以及一些关于索引的简单的知识,这篇我打算详细地谈一谈如何正确地使用索引.索引的使用看起来很简单,但是在真正去学习它的时候才发现,原来是暗藏玄机.使用索引时有很多 ...

  6. php mssql统计表中的主键个数,MSSQL_SQL Server中统计每个表行数的快速方法,我们都知道用聚合函数count()可 - phpStudy...

    SQL Server中统计每个表行数的快速方法 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一 ...

  7. mysql 统计条目_mysql 统计表中条目数量的几种方法

    mysql 统计表中条目数量的几种方法 展开 通常的方法是: select count(*) from `table_name` select count(1) from `table_name` s ...

  8. MySQL统计两部分查询结果记录数量比值

    在SQL查询中,我们可能会有这样的需求,如下面的表 姓名 班级 性别 爱好 姚远 1 男 装X,赚钱,靠女人 路晓欧 1 女 装X,赚钱,帮男人 刘云天 2 男 赚钱,傲娇 霍梅 2 女 赚钱,坑闺蜜 ...

  9. mysql统计没有参加考试的学生名单_sQL SERVER,帮我编写一个存储过程,查询没有参加考试的学生名单,要求显示姓名、学号,具体请补充:...

    --学生表CREATETABLEmember(midchar(10)primarykey,mnamechar(50)notnull,);--课程表CREATETABLEcourse(fidchar(1 ...

最新文章

  1. 均值聚类散点图怎么画_GraphPad Prism 绘图教程 | 手把手教你绘制Column散点图
  2. 一个Demo学完Android中所有的服务
  3. 通过这个故事理解啥是 NIO
  4. 在计算机附近用英语怎么说,附近用英语怎么说
  5. ExtJS中的Grid分页
  6. 使用matlab画半透明椭圆
  7. CAS单点登录详细流程
  8. 前端中心化管理API使用说明
  9. Synchronized的使用详解与区别(干货满满!!!)
  10. 小米10至尊纪念版DXO第一 雷军:这是小米打拼三年第二次登顶
  11. HDU1864 最大报销额【0-1背包】
  12. SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能)
  13. android httpclient基本用法
  14. Snort的TILE64移植
  15. 下列属于mysql流程控制的是什么_下面选项中,不属于MySQL中流程控制语句的有...
  16. 一文读懂多架构的中断控制器
  17. 人工智能课程期末总结
  18. 第一章 人机交互概述
  19. win8\win server 2012添加【中文--美式键盘】
  20. ubuntu16 黑主题_Ubuntu16.04 主题美化

热门文章

  1. 多次访问redis造成redis连接总是断开的解决方案
  2. html之属性的定义
  3. MyBatis之输入(parameterType)与输出(resultType、resultMap)映射
  4. ubuntu 安装cudnn
  5. 阿里巴巴超大规模Kubernetes基础设施运维体系解读
  6. 并发编程实践之公平有界阻塞队列实现
  7. 10亿+文件数压测,阿里云JindoFS轻松应对
  8. 拥抱云原生,Fluid结合JindoFS :阿里云OSS加速利器
  9. 从0到千万DAU,这5年闲鱼架构如何演进?
  10. 阿里云李刚:下一代低延时的直播CDN