MySQL自学笔记_聚集函数
1. 使用场景
很多时候我们需要查找数据库中符合特定条件的数据的计数、最大值、最小值、平均值等一个数字,并需要要导出所有相关数据明细。此时就需要用到聚集函数。
而返回所有数据明细会占用数据库资源和网络带宽资源。
聚集函数定义(aggregate function):运行在行组上,返回一个单一的值的函数。既,此类函数的运行对象都是行组数据,且只返回一个运算结果。
一个select语句中可以有多个聚集函数。
2. 常用聚集函数:
| 函数 | 说明 |
| AVG() | 返回某列的平均值 |
| COUNT() | 返回某列的行数 |
| MAX() | 返回某列的最大值 |
| MIN() | 返回某列的最小值 |
| SUM() | 返回某列的和 |
2. 1 avg() 通过计算某列的行数及所有行的值得和求得该列的平均值。
计算考试成绩的均值:
select avg(score) as avg_score
from test;
从test表中找到score这一列,计算并返回其平均值。
求出英语成绩的平均值:
select avg(score) as avg_score
from test
where major = 'English';
avg()函数后面可以通过where字句,只求出某列符合特定条件的行的平均值。
注意:
1. 单个avg()函数只能计算一列,想计算多列的平均值,只能使用多个avg()函数
2. avg()函数自己忽略值为null的行。
2.2 count() 计算整个表或某列的行数
count() 的两个使用方法:
1. count(*),计算某个表中的行数,不管是否有null值。
2. count(column), 根据某列有值的行计算行数。
#计算学生总数
select count(*) as num_students
from students;
# 有业余爱好的学生数
select count(hobby) as num_hobby
from students;
2.3 max() 返回某列最大值
常规可以用来检索的数据类型为数值和日期。如果文本数据按特定顺序排序,会返回最后一列。
# 找出考试中最高的数学成绩
select max(math) as max_math
from test;
2.4 min() 返回某列最小值
类似max()函数,常规可以用来检索的数据类型为数值和日期。如果文本数据按特定顺序排序,会返回最前一列。
# 找出百米冠军的用时
select min(100m_running) as min_time
from PE_testing;
2.5 sum() 返回某列之和
可以返回某列数值之和,也可返回某列特定条件的数值之和,还可返回结算列的和值。
# 全校捐款数
select sum(amount) as total_amount
from donation;
# 一年级总捐款数
select sum(amount) as total_amount_grade1
from donation
where grade = 1;
# 计算全校每周学生读书总计小时数
select sum(days*hours) as total_hour
from reading;
MySQL自学笔记_聚集函数的更多相关文章
- MySQL自学笔记_联结(join)
1. 背景及原因 关系型数据库的一个基本原则是将不同细分数据放在单独的表中存储.这样做的好处是: 1).避免重复数据的出现 2).方便数据更新 3).避免创建重复数据时出错 例子: 有供应商信息和产 ...
- MySql学习笔记(三) —— 聚集函数的使用
1.AVG() 求平均数 select avg(prod_price) as avg_price from products; --返回商品价格的平均值 ; --返回生产商id为1003的商品价格平均 ...
- jQuery源代码学习笔记_工具函数_noop/error/now/trim
jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...
- Node.js自学笔记之回调函数
写在前面:如果你是一个前端程序员,你不懂得像PHP.Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择.这段时间对node.js进行了简单的学习,在这里 ...
- PostgreSQL自学笔记:6 PostgreSQL函数
6 PostgreSQL函数 6.2 数学函数 abs(x) 绝对值 pi() 圆周率π select abs(-3),pi(); cookie: MySQL中的pi()默认值3.141593, Po ...
- Mysql自学笔记
SQL(strucut query language) DDL (数据库定义语言)DML (数据库操作语言)DCL (数据库的控制语言)DTL (数据库的高级语言)查看版本的函数select vers ...
- mysql学习笔记—常用sql函数
SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...
- MySQL学习笔记_时间,多表更新,数据库元数据
MySQL技术内幕一.MySQL基础知识1.1.显示表中的列SHOW COLUMNS FROM order_info like 'order%'1.2.显示表SHOW TABLES LIKE 'ord ...
- MySQL 自学笔记_Union(组合查询)
1. Union查询简介 组合查询:有时在使用select语句进行数据查询时,想要将多个select语句在一个查询结果中输出,此时就需要使用Union关键字. Union的使用方法:用union将多个 ...
随机推荐
- github最火的springboot开源学习资料
https://github.com/JeffLi1993/springboot-learning-example https://github.com/ityouknow/spring-boot-e ...
- ES6入门教程---解构赋值和字符串扩展
解构赋值: ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 数组的解构赋值: 按照对应的顺序解构. var arr = [1,[2,3]]; ...
- 常见的HTTP状态码说明
1.说明 HTTP服务器状态代码定义(Status Code Definitions) 做测试的时候,会产生比较多的HTTP错误,查看其错误,有超时的,链接不到图片的,连接不到服务器等等,很多人经常忘 ...
- 开园了,将以此记录个人web前端之路
记录.分享与学习 2015年5月中旬开始学习web前端到2015年6月底找到第一份相关工作,在学习与工作过程中通过网络获益良多,在此写下个人学习与工作过程中的总结与思考,记录个人成长,同时也希望能够帮 ...
- .net 中 Json 与List 相互转
var duanxin1 = new DuanXin(); duanxin1.RECEIVE_LOGIN_NAME = "dd"; duanxin1.RECEIVE_Number ...
- java实现xml文件读取并保存到对象
首先浅聊一下解析xml的四种方式: 1.DOM方式:有缺点但是这个缺点却也是他的优点.下面详细介绍: 以树形的层次结构组织节点或信息片断集合,可以获得同一个文档中的多处不同数据.使用起来简单. 优点是 ...
- easyUI filebox限定文件大小
转载自:https://www.2cto.com/kf/201701/574667.html 侵删 easyui1.5filebox控件中增加文件大小的验证规则 2017-01-07 09:22:0 ...
- 切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。
Spring单例注入,单例对象可设置成Spring元件. 只有Spring的元件中@Autowired才有用,在普通类中@Autowired虽然不会编译报错,但运行时会报空指针错误.
- HTML5标签选择指引
- linux机器上部署多台Tomcat
在Linux机器上部署多台Tomcat, 我部署的是Tomcat8,只需要一步,即避免端口号冲突. 在解压后的tomcat目录下,修改conf下server.xml. 修改shutdown端口: &l ...