(第五章)统计函数分组
统计函数与分组 |
函数名 | 意思 | 功能 |
---|---|---|
count | 计数 | 计算一张表的记录个数/计算一列中值的个数 |
min | 最小 | 求一列值的最大值 |
max | 最大 | 求一列值的最大值 |
sum | 总和 | 计算一列中值的总和【数值型】 |
avg | 平均值 | 计算一列中值的平均值【数值型】 |
group by | 根据…分组 | |
order by | 根据…排序 | |
having | 有 |
查询语句
select founction(col_name) from table_name where condition group by col_name having condition order by col_name1[asc][desc], col_name2[asc][desc], col_nameN[asc][desc]; |
某个函数名 来自那个表 满足的基本条件,(在)…情况下 分组的条件 having与group by结合起来使用 根据…排序 asc升序 desc降序 不写,默认升序 |
---|
t_reader表里面的数据
编号 reader_id |
名字 reader_name |
性别 reader_sex |
生日 reader_birhday |
还书总量 reader_borrowtotal |
---|---|---|---|---|
1001 | 小一 | 男 | 2001/2/1 | 1 |
1002 | 小二 | 男 | 2002/2/2 | 2 |
1003 | 小三 | 女 | 2003/2/3 | 3 |
1004 | 小四 | 女 | 2004/2/4 | 4 |
1005 | 小五 | 女 | 2005/2/5 | 5 |
获取方法
curdate():显示当前日期 |
---|
year(reader_birhday):获取日期类型字段里的年 |
avg(year(curdate())-year(reader_birhday)):平均年龄 |
max(year(curdate())-year(reader_birhday)):最大年龄 |
min(year(curdate())-year(reader_birhday)):最小年龄 |
count(reader_id):得到读者数量 |
实例操作 |
---|
select avg(year(curdate())-year(reader_birhday))as 平均年龄, min(year(curdate()-year(reader_birhday)) as 最小年龄, max(year(curdate()-year(reader_birhday)) as 最大年龄, count(reader_id) as 读者人数 from t_reader; |
输出结果
平均年龄 | 最小年龄 | 最大年龄 | 读者数量 |
---|---|---|---|
18 | 16 | 21 | 5 |
操作 |
---|
分别得出根据男女的平均年龄,并按降序排列 |
order by avg(year(curdate)-year(reader_birhday) desc:降序排列 |
order by 1:指的是select语句后的第一个字段 |
完整实例操作 |
select avg(year(curdate()-year(reader_birhday)) as 平均年龄,reader_sex from t_reader group by reader_sex order by 1 desc; |
结果
平均年龄 | reader_sex |
---|---|
19.5 | 男 |
17 | 女 |
实例
t_return_record还书记录表
还书编号 return_id |
借书编号 borrow_id |
还书日期 return_date |
书籍编号 isbn |
借书日期 borrow_date |
---|---|---|---|---|
101 | 1001 | 2021/5/2 | 11 | 2021/5/1 |
102 | 1002 | 2021/5/3 | 22 | 2021/5/1 |
103 | 1003 | 2021/5/4 | 33 | 2021/5/1 |
104 | 1004 | 2021/5/5 | 44 | 2021/5/1 |
105 | 1005 | 2021/5/2 | 55 | 2021/5/1 |
106 | 1006 | 2021/5/3 | 66 | 2021/5/1 |
显示还书数量大于2的记录,并且按还书的数量升序排列
count(*)>=2 | 借书大于2的 |
---|---|
group by day(return_date) | 每天 |
gcount(*) asc | 升序【可不写,默认升序】 |
实例语句为 [注意数值不要引号] |
---|
select count(* ) as还书总量,return_date from t_return_record group by day(return_date) having count(*)>=2 order by 1; |
输出
还书总量 | return_date |
---|---|
2 | 2021/5/2 |
2 | 2021/5/3 |
(第五章)统计函数分组相关推荐
- 第五章、窗口及对话框
第五章.窗口及对话框 5 .1 .窗口基本应用 ExtJS 中窗口是由 Ext.Window 类定义,该类继承自 Panel ,因此窗口其实是一种特殊 的 面板 Panel .窗口包含了浮动.可拖动 ...
- 通信网络基础期末复习-第五章-路由算法
写在前面:本文主要依据为<通信网络基础>李建东,盛敏编著,如有侵权,请联系作者删除.本文仅用于个人期末复习与知识结构的搭建. 文章目录 第五章 路由算法 5.1 路由算法概述 5.1.1路 ...
- mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)
点击右上方红色按钮关注"web秀",让你真正秀起来 前言 万丈高楼平地起,我们的Todo List项目也是越来越结实了.Todo List的前面4章内容都是在为Client端开发, ...
- 《Credit Risk Scorecard》第五章: Development Database Creation
第五章:Scorecard Development Process, Stage 3: Development Database Creation Selection of Characteristi ...
- 第五章-分布式并行编程框架MapReduce
第五章-分布式并行编程框架MapReduce 文章目录 第五章-分布式并行编程框架MapReduce MapReduce概述 分布式并行编程 MapReduce模型和函数 MapReduce体系结构 ...
- IT项目管理总结:第五章 项目范围管理
第五章 项目范围管理 什么是项目范围管理 –范围(scope):指开发项目产品所涉及的所有工作和用来开展工作的所有过程 –可交付成果(deliverable):指作为项目的一部分而生产的产品 –项目范 ...
- 计算机网络总结:第五章 链路层
第五章 链路层:链路.接入网和局域网 5.1 链路层概述 一些术语 –结点:运行链路层协议的任何设备(主机.路由器.交换机) –链路:沿着通信路径连接相邻结点的通信信道 –在通过特定的链路时,传输结点 ...
- javascript高级程序设计 学习笔记 第五章 上
第五章 引用类型的值(对象)是引用类型的一个实例.在 ECMAScript 中,引用类型是一种数据结构, 用于将数据和功能组织在一起.它也常被称为类,但这种称呼并不妥当.尽管 ECMAScri ...
- 《JavaScript高级程序设计(第四版)》红宝书学习笔记(第五章:基本引用类型,原始值包装类型,单例内置对象)
第五章:基本引用类型 引用值(或者对象)是某个特定引用类型的实例.新对象通过使用new操作符后跟一个构造函数(constructor)来创建. 5.1 Date 这里不对Date进行详细深入,仅基于书 ...
最新文章
- 创立创造创建的区别_【干货|知识分享】Solidworks与Rhino有什么区别呢?
- OpenAI解散机器人团队,曾试图造AGI机器人,创始人:最好的决定
- QCon上海2015十大热点
- Python Django 打印执行过的查询语句
- 九章算术卷第五 商功
- C语言异常处理机制——为您的C程序添加异常处理
- Spring(四):面向切面编程AOP
- Linux Qt工程组织结构与动态库引用
- spotify注册服务器,【评测】Cocktail Audio N25:集USB解码、TIDAL、Spotify、NAS 串流、音乐服务器于......
- 拦截图片代码 精易web浏览器_精易Web浏览器 UChk验证源码
- python画聚类树状图_如何在scipy/matplotlib中绘制和标注层次聚类树状图
- JavaScript 调用Bomb后端云
- HDU4324 - Triangle LOVE 拓补排序
- Chrome浏览器截屏插件的开发
- 张艾迪(创始人):世界最高级创始人
- 如何让百度搜到我的网站或博客
- ON在电子计算机上是什么键,计算机on是什么键
- 《Unity3D网络游戏实战》第7章
- Jenkins+Jmeter、jmeter脚本执行执行失败,jenkins构建成功
- 神奇:运用Python实现一个猜测心中数字的”魔术“方法很简单。