聚合函数: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. 【BZOJ4810】[YNOI2017] 由乃的玉米田(莫队+bitset)

    点此看题面 大致题意: 给你一段序列,每次询问一段区间内是否存在两个数的差或和或积为\(x\). 莫队算法 看到区间询问+可以离线,首先想到了莫队啊. 但是,在较短的时间内更新信息依然比较难以实现. ...

  2. swift和oc之间的相互调用(block,代理)

    第一:swift->oc 这个相对简单一点, 在自动生成的桥接文件中导入你要掉的oc文件名就可以了, 如果没有生成桥接文件也可以自己手动创建(Header File) 第二:oc->swi ...

  3. 3204: 数组做函数参数--排序函数2--C语言

    3204: 数组做函数参数--排序函数2--C语言 时间限制: 1 Sec  内存限制: 128 MB提交: 211  解决: 143[提交][状态][讨论版][命题人:smallgyy] 题目描述 ...

  4. 回归树的原理及Python实现

    大名鼎鼎的 GBDT 算法就是用回归树组合而成的.本文就回归树的基本原理进行讲解,并手把手.肩并肩地带您实现这一算法. 1. 原理篇 1.1 最简单的模型 如果预测某个连续变量的大小,最简单的模型之一 ...

  5. 题解 P2626 【斐波那契数列(升级版)】

    这道题,大家一定要注意: 要对2^31取模 ! ( 本蒟蒻开始没注意到这一点,WA了 ) (不过大家在试样例的时候,试试47,出不了结果,就说明你没模2^31) 总体来说,这道题考查的知识点就两个: ...

  6. FTP、SFTP与FTPS

    先简单介绍下FTP的基础知识 FTP的传输有两种方式:ASCII.二进制. FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式). 主动模式 FTP ...

  7. CentOS7下Mysql5.7安装

    下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.no ...

  8. python常用内置算法用到的单词音频

    http://boscdn.bpc.baidu.com/v1/developer/990a728b-ca96-4bd9-9124-5357d829bf70.mp3 百度广播开发平台生成

  9. 2017 ACM/ICPC Shenyang Online SPFA+无向图最长路

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  10. Codeforces Round #459 (Div. 2)-A. Eleven

    A. Eleven time limit per test1 second memory limit per test256 megabytes Problem Description Eleven ...