mysql之组函数

组函数

组函数又叫做聚集函数(aggregation function),它在一个行的集合(一组行)上进行操作,对每个组给一个结果。每个组函数接受一个参数。参数expr通常是列或表达式。默认情况下,组函数忽略列值为null的行,不把它们拿来参与计算

组函数就是对一个结果集进行操作

avg() //求平均值
sum() //求和
max ()//求最大值
min() //求最小值
count() //求数量和
count(1)推荐
count()返回表中满足where条件的行的数量
count(列):返回列值非空的行的数量
例3: 一共有多少个联盟会员号码?
SELECT count(leagueno)
FROM players;
count(distinct 列):返回列值非空的、并且列值不重复的行的数量
例4:查询球员所居住的城市的数量
SELECT count(DISTINCT town)
FROM players;
**建议使用字面量,因为count(
)的操作多一步解析步骤,相当于增加了CPU的消耗
默认情况下组函数都会忽略null的情况,不进行计算
count():返回表中满足where条件的行的数量**
例1: 有多少球员住在Stratford?
SELECT count(
)
FROM players
WHERE town=‘Stratford’;
注意:当使用组函数的select语句中没有group by子句时,中间结果集中的所有行自动形成一组,然后计算组函数
如果要处理null值就需要使用单行函数进行操作

select avg(ifnull(id,0)) from t1; //常用
可见,要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换
组函数不可以进行嵌套,但是单行函数可以进行嵌套

一个SELECT子句中可出现多个聚集函数
如果统计的列中只有NULL值,那么MAX和MIN就返回NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值