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自学笔记_聚集函数的更多相关文章

  1. MySQL自学笔记_联结(join)

    1.  背景及原因 关系型数据库的一个基本原则是将不同细分数据放在单独的表中存储.这样做的好处是: 1).避免重复数据的出现 2).方便数据更新 3).避免创建重复数据时出错 例子: 有供应商信息和产 ...

  2. MySql学习笔记(三) —— 聚集函数的使用

    1.AVG() 求平均数 select avg(prod_price) as avg_price from products; --返回商品价格的平均值 ; --返回生产商id为1003的商品价格平均 ...

  3. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

  4. Node.js自学笔记之回调函数

    写在前面:如果你是一个前端程序员,你不懂得像PHP.Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择.这段时间对node.js进行了简单的学习,在这里 ...

  5. PostgreSQL自学笔记:6 PostgreSQL函数

    6 PostgreSQL函数 6.2 数学函数 abs(x) 绝对值 pi() 圆周率π select abs(-3),pi(); cookie: MySQL中的pi()默认值3.141593, Po ...

  6. Mysql自学笔记

    SQL(strucut query language) DDL (数据库定义语言)DML (数据库操作语言)DCL (数据库的控制语言)DTL (数据库的高级语言)查看版本的函数select vers ...

  7. mysql学习笔记—常用sql函数

    SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...

  8. MySQL学习笔记_时间,多表更新,数据库元数据

    MySQL技术内幕一.MySQL基础知识1.1.显示表中的列SHOW COLUMNS FROM order_info like 'order%'1.2.显示表SHOW TABLES LIKE 'ord ...

  9. MySQL 自学笔记_Union(组合查询)

    1. Union查询简介 组合查询:有时在使用select语句进行数据查询时,想要将多个select语句在一个查询结果中输出,此时就需要使用Union关键字. Union的使用方法:用union将多个 ...

随机推荐

  1. 12pm 究竟是中午还是午夜

    12pm是中午=12noon12am是午夜=12midnightMN-midnight(午夜,中午) AM是after midnight开头字母 PM是prior to midnight开头字母正中午 ...

  2. react native 使用iconfont

    安卓的配置: 1.在android/app/src/assets/fonts文件夹下复制从iconfont下载的   (下载后的icon名称可以在下载来的文件中的html文件中) 2.在android ...

  3. Python命名空间和作用域

    准备知识: 1.在Python解释器开始执行之后,机会在内存中开辟一个空间,每当遇到 一个变量的时候,就把变量和值之间的关系记录下来,但是当遇到函数定义 的时候,解释器只是把函数名读入内存,表示这个函 ...

  4. phpcms9.6 注入分析

    phpcms9.6 注入分析 漏洞促发点\phpcms\modules\content\down.php $a_k = trim($_GET['a_k']); if(!isset($a_k)) sho ...

  5. 牛客假日团队赛2 C.修围栏

    链接: https://ac.nowcoder.com/acm/contest/924/C 题意: 农民 John 希望修复围绕农场的一小段围栏.他测量了一下,发现需要N (1 <= N < ...

  6. Linux+.NetCore+Nginx

    Linux+.NetCore+Nginx搭建集群 本篇和大家分享的是Linux+NetCore+Nginx搭建负载集群,对于netcore2.0发布后,我一直在看官网的文档并学习,关注有哪些新增的东西 ...

  7. jsfiddle.net上的记录

    1.JQuery: http://jsfiddle.net/uryc1908/ 2.e-chart: http://jsfiddle.net/8fq96a7s/ 3.easyUI http://jsf ...

  8. 机器学习框架ML.NET学习笔记【9】自动学习

    一.概述 本篇我们首先通过回归算法实现一个葡萄酒品质预测的程序,然后通过AutoML的方法再重新实现,通过对比两种实现方式来学习AutoML的应用. 首先数据集来自于竞赛网站kaggle.com的UC ...

  9. rabbitmq 不发送ack消息如何处理: RabbitMQ 消息确认以及消息消费方处理消息时候抛出了异常以

    本篇的代码使用的前面两篇文章<RabbitMQ与Spring整合之消息生产方>和<RabbitMQ与Spring整合之消息消费方>的代码,这两篇文件里配置文件的名称不正确,不可 ...

  10. spring项目后台中打印sql语句

    配置方法很简单,只要在配置文件application.yml加入以下语句 logging: level: main.java.iReview.dao: debug 其中包的位置应为dao层的包位置,不 ...