聚合函数: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(四)聚合函数的更多相关文章

  1. MySQL数据库聚合函数

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库聚合函数时间:2019年2月25日内容:MySQL数据库聚合函数重点:MySQL数据库聚合函 ...

  2. MySQL的聚合函数

    MySQL的聚合函数 网站:https://www.runoob.com/mysql/mysql-functions.html 函数名 功能描述 count() 计数 sum() 求和 avg() 平 ...

  3. MongoDB学习总结(三) —— 常用聚合函数

    上一篇介绍了MongoDB增删改查命令的基本用法,这一篇来学习一下MongoDB的一些基本聚合函数. 下面我们直奔主题,用简单的实例依次介绍一下. > count() 函数 集合的count函数 ...

  4. mysql之聚合函数、group by、having

    sql中提供聚合函数可以用来统计,求和,求最值等 那么聚合函数有哪些呢? COUNT    统计行数量 SUM         求某一列的和 AVG          求某一列的平均值 MAX  求某 ...

  5. Hive学习之自己定义聚合函数

    Hive支持用户自己定义聚合函数(UDAF),这样的类型的函数提供了更加强大的数据处理功能. Hive支持两种类型的UDAF:简单型和通用型.正如名称所暗示的,简单型UDAF的实现很easy,但因为使 ...

  6. mysql sum聚合函数和if()函授的联合使用

    今天去面试遇到一个数据库试题,首先说一下表结构如下: 表结构:mytest 表数据:mytest 要查询的结果如下: 在本题目中,需要用到sum聚合函数和if函数 sql如下: ,)) ,)) AS ...

  7. Oracle学习(十一)聚合函数

    AVG() 求平均数 --查询某列的平均值 SELECT AVG(列) FROM 表 COUNT()查询条数 -- 查询所有记录的条数 select count(*) from 表; -- 查询对应列 ...

  8. mysql 从聚合函数group by到sql_mode

    说到group by, 想必大家都不陌生, 就是对查询的数据进行分组,我们可以通过该操作实现一些特殊需求,比如去重. 最近在项目中使用HQL:" from TSjrz where CBh = ...

  9. python学习笔记(四)— 函数

    一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...

  10. swift学习初步(四)-- 函数

    好了,让我们开始接着前几天写的系列博客开始今天的这篇博客.在swift里面如果你需要定义一个方法的话,你需要使用关键字:func,请看下面的这段代码: func sayHello(name:Strin ...

随机推荐

  1. oracle 的启动与连接

    1. Oracle的启动 oracle的服务如下图所示: 启动oracle有两个重要的服务(如上图标识处): l OracleOraDb11g_home1TNSListener:监听服务,主要用于客户 ...

  2. linux 命令——43 killall(转)

    Linux 系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进 程,如果要找到我们需要杀死的进程,我们还需 ...

  3. UVA 12166 Equilibrium Mobile(贪心,反演)

    直接贪心.先想想最后平衡的时候,如果知道了总重量,那么每一个结点的重量其实也就确定了. 每个结点在左在右其实都不影响,只和层数有关.现在反过来,如果不修改某个结点,那么就可以计算出总质量,取总质量出现 ...

  4. vuex:使用思路总结

    1. vuex是什么? 是一种数据状态管理机制. 2.vuex的构成和作用: state: 存放需要被管理的属性的对象 getters: 方便在state中做集中处理,可以把state作为第一个参数 ...

  5. C++ 无限定名称查找

    无限定名称查找 (关键字:懒惰,挑捡,using指令的特殊性) 无限定名称查找实际上就是指没有限定(名称空间和名称空间运算符)名存在的一个名字的出现,其中对于using指令,其内部包含的所有的声明是被 ...

  6. build path导入的jar失效导致找不到类

    今天碰到一个很奇葩的问题,搞起我以后都不敢 build path到jar了 所以我就全部放到lib目录下了,因为之前使用build path导入的jar失效了,一直找不类,具体原因我也不清楚,我之前的 ...

  7. mysql四:数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  8. tcl之内容

  9. yii2初步讲解 验证规则

    http://www.yii-china.com/post/detail/9.html

  10. Codeforces Round #456 (Div. 2) A. Tricky Alchemy

    传送门:http://codeforces.com/contest/912/problem/A A. Tricky Alchemy time limit per test1 second memory ...