聚合函数: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)
 
 
 
 
 
 
 
 
 

最新文章

  1. 从点击Button到弹出一个MessageBox, 背后发生了什么
  2. iOS 简单动画 block动画
  3. Unity学习疑问记录之新GUI
  4. DIOCP之EchoServer分析
  5. 有关CLR的初学小整理(可能理解不深刻,望大牛指出)
  6. 网络基础知识、ASP.NET 核心知识(1)*
  7. 深入理解HTTPS通讯原理
  8. mysql binlog参数设置
  9. poj3662(二分+最短路)
  10. 【Egret】中tree组件使用案例
  11. UI自动化测试简介及Selenium工具的介绍和环境搭建
  12. Java学习笔记8(面向对象一:概念、private)
  13. 获取地址栏url
  14. Git-本地项目和远程项目关联
  15. node初学者笔记
  16. python 线程 进程
  17. Docker打DB2 9.7镜像采坑相关
  18. 如何处理App的Application的事件
  19. JavaScript中callee,caller,argument的理解
  20. JavaScript基础部分经典案例

热门文章

  1. linux 命令——24 Linux文件类型与扩展名
  2. 300行ABAP代码实现一个最简单的区块链原型
  3. xtrabackup 安装
  4. UVA 11990 ``Dynamic'' Inversion (序列分治)
  5. ASP.NET补充
  6. 洛谷P3371单源最短路径Dijkstra堆优化版及优先队列杂谈
  7. Linux 下上传下载命令,SCP,SFTP,FTP
  8. Nginx认证
  9. 【PHP】php中json_decode()和json_encode()
  10. 06.VUE学习之非常实用的计算属性computed实例