MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)
1.首先我们需要了解下什么是聚合函数
聚合函数aggregation function又称为组函数。
认情况下 聚合函数会对当前所在表当做一个组进行统计。
2.聚合函数的特点
1.每个组函数接收一个参数(字段名或者表达式)
统计结果中默认忽略字段为NULL的记录
2.要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。
3.
不允许出现嵌套 比如
sum(max(xx))
3.聚合函数 count(),求数据表的行数
1
|
select count (*/字段名) from 数据表 |
4.聚合函数 max(),求某列的最大数值
1
|
select max (字段名) from 数据表 |
5.聚合函数min(),求某列的最小值
1
|
select main(字段名) from 数据表 |
6.聚合函数sum(),对数据表的某列进行求和操作
1
|
select sum (字段名) from 数据表 |
7.聚合函数avg(),对数据表的某列进行求平均值操作
1
|
select avg (字段名) from 数据表 |
8.聚合函数和分组一起使用
1
|
select count (*),group_concat(age) from students group by age; |
总结:
MySQL的聚合函数和我们日常office表使用的一些对表的操作的方法大致相同,在工作中主要配合分组使用
=====================================================
一、聚合函数(aggregation function)---也就是组函数
在一个行的集合(一组行)上进行操作,对每个组给一个结果。
常用的组函数:
求平均值 |
|
统计行的数量 |
|
求最大值 |
|
求最小值 |
|
求累加和 |
①每个组函数接收一个参数
②默认情况下,组函数忽略列值为null的行,不参与计算
③有时,会使用关键字distinct剔除字段值重复的条数
注意:
1)当使用组函数的select语句中没有group by子句时,中间结果集中的所有行自动形成一组,然后计算组函数;
2)组函数不允许嵌套,例如:count(max(…));
3)组函数的参数可以是列或是函数表达式;
4)一个SELECT子句中可出现多个聚集函数。
table test
Field | Type | Null | Key | Default | Extra |
id | int(11) | NO | PRI | NULL | auto_increment |
name | char(50) | NO | NULL | ||
age | int(11) | NO | NULL | ||
school | char(50) | YES | NULL |
(一)AVG()函数
AVG()通过对表中行数计数并计算特定列值之和,从而求得该列的平均值。
例如:SELECT AVG(age) AS avg_age FROM test;
此语句返回表test中所有age的平均值。
例如:SELECT AVG(age) AS avg_age FROM test WHERE name="john";
此语句返回表test中name=john的age的平均值。
注:AVG只能确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个avg函数。而且avg函数会忽略列值为NULL的行。
(二)COUNT()函数
COUNT()函数进行计数。可利用COUNT()函数确定表中行的数目或者符合特定条件的行的数目。
COUNT()有两种使用方式:
1.使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
2.使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
例如 SELECT COUNT(*) AS num_test FROM test;
此语句对表test所有行进行计数,返回表的总行数,不管行中各列有什么值。
例如 SELECT COUNT(school) FROM test;
此语句只对school列中有值的行进行计数,忽略null行。
(三)MAX()函数
MAX()函数返回指定列中的最大值。MAX()要求指定列名。
例如SELECT MAX(age) FROM test;
此语句返回表test中age的最大值。
注:MAX()函数忽略值为NULL的行。
(四)MIN()函数
MIN()函数返回指定列的最小值,MIN()要求指定列名。
例如 SELEC MIN(age) FROM test;
此语句返回最小的age值。
注:MIN()函数忽略列值为NULL的行。
(五)SUM()函数
SUM()函数来返回指定列值的和(总计)。
SELECT SUM(age)FROM test;
此语句返回age列所有值之和。
注:SUM函数忽略列值为NULL的行。SUM也可以用来合计计算值,SUM(price*count)。
(六)聚集不同值
对以上5个聚集函数都可以如下使用:
1.对所有行执行计算,指定ALL参数或者不给参数(ALL参数是默认的)
2.只包含不同的值,指定DISTINCT参数
例如SELECT AVG(DISTINCT age) FROM test;
此语句返回age值不同的所有age值的平均值。
注:DISTINCT只能用在列名前面,不能用在表达式前。
MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)的更多相关文章
- SQL-基础学习4--聚集函数:AVG(),COUNT(),MAX(),MIN(),SUM();聚集不同值:DISTINCT
第九课 9.1 聚集函数(对某些行运行的函数,计算并返回一个值) 我们经常需要汇总数据而不用把它们实际检索出来,为此SQL提供了专门的函数.使用这些函数,SQL查询可用于检索数据,以便分析和报表生成. ...
- MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)
table test Field Type Null Key Default Extra id int(11) NO PRI NULL auto_increment name char(50) NO ...
- sql-函数avg,count,max,min,sum
常用函数 AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) 运用函数的语法是: SELECT "函数名"("栏位名&qu ...
- mysql之count,max,min,sum,avg,celing,floor
写在前面 昨天去青龙峡玩了一天,累的跟狗似的.不过还好,最终也算登到山顶了,也算来北京后征服的第三座山了.这里也唠叨一句,做开发这行,没事还是多运动运动,对自己还是很有好处的,废话少说,还是折腾折腾s ...
- Linq查询操作之聚合操作(count,max,min,sum,average,aggregate,longcount)
在Linq中有一些这样的操作,根据集合计算某一单一值,比如集合的最大值,最小值,平均值等等.Linq中包含7种操作,这7种操作被称作聚合操作. 1.Count操作,计算序列中元素的个数,或者计算满足一 ...
- SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum avg() 函数 定义和用法 AVG 函数返回数值列的平均值.NULL ...
- group by与avg(),max(),min(),sum()函数的关系
数据库表: create table pay_report( rdate varchar(8), --日期 region_id varchar(4), --地市 ...
- 49-python基础-python3-列表-常用列表统计函数-max()-min()-sum()
max() min() sum() 1-数字列表统计 实例: 2-字符串列表统计. 根据ASCII码大小统计字符串列表的min()和max(). 注意:sum()函数无法统计字符串列表. 实例:
- 列表推导式、生成器表达式以及zip()max()max()/min()sum()sort()map()filter()的用法
列表推导式: 基本格式: variable = [out_exp_res for out_exp in input_list if out_exp == 2] #out_exp_res: 列表生成元素 ...
随机推荐
- 简单的windows窗口创建实例
#include<windows.h> #include<tchar.h> LRESULT CALLBACK WndProc(HWND hwnd,UINT umsg,WPARA ...
- 思维导图软件 xMind 基本用法
官方下载:https://www.xmind.net/download/win/ 官方快捷键说明:https://www.xmind.net/blog/cn/tag/xmind%EF%BC%8C%E5 ...
- upc组队赛1 闪闪发光 【优先队列】
闪闪发光 题目描述 一所位于云南昆明的中医药本科院校--云南中医学院. 因为报考某专业的人数骤减,正面临着停招的危机. 其中有九名少女想到一条妙计--成为偶像, 只要她们成为偶像,学校的名气便会增加, ...
- POJ - 2421 Constructing Roads 【最小生成树Kruscal】
Constructing Roads Description There are N villages, which are numbered from 1 to N, and you should ...
- LightOJ 1030 Discovering Gold(概率DP)题解
题意:1~n每格都有金子,每次掷骰子,掷到多少走几步,拿走那格的金子,问你金子的期望 思路:dp[i]表示从i走到n金子的期望,因为每次最多走1<=x<=6步,所以dp[i] = a[i] ...
- R语言 apply,sapply,lapply,tapply,vapply, mapply的用法
apply() apply(m,dimcode,f,fargs) m 是一个矩阵. dimcode是维度编号,取1则为对行应用函数,取2则为对列运用函数. f是函数 fargs是f的可选参数集 > ...
- Asp.Net 之 OnClientClick 与 OnClick 的执行顺序
Asp.net 中 OnClientClick 与 OnClick 的执行顺序为:客户端的OnClientClick先执行,服务器端的OnClick后执行. 拓展:在执行完客户端的OnClientCl ...
- 深度学习课程笔记(一)CNN 卷积神经网络
深度学习课程笔记(一)CNN 解析篇 相关资料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html 首先提到 Why CNN for I ...
- c# 泛型的应用
泛型静态类 & function作为参数 /// <summary> /// /// </summary> /// <typeparam name="O ...
- js中获取当前浏览器类型
本文为博主原创,转载请注明出处: 在应用POI进行导出时,先应用POI进行数据封装,将数据封装到Excel中,然后在进行download下载操作,从而完成 POI导出操作.由于在download操作时 ...