MySQL集合(聚合)函数

MySQL 聚合函数
函数作用
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列的和

 

1.COUNT() 函数

统计数据表中包含的记录行数,或根据查询结果返回列中包含的数据行数。

  • count(*) 计算表中总行数,不管某列是数值还是空值。
  • count(字段名) 计算指定列的总行数,计算时将忽略空值的行。

例1:查询表中的总行数,为结果命名为num,并将其显示出来

select count(*) AS num from 表名;

例2:查询 name 列下的总行数(不包括空值),为结果命名为num,并将其显示出来

select count(name) as num from 表名;

例3:计算不同分组中的记录总数

用count()函数统计不同年龄下,姓名的个数(例如:年龄为21的有Lily,Jack ,Matin,则21对应的count()值为3)

select age,count(name) from 表名 group by age;

 

2.SUM()函数

返回指定列值得总和

例如:查看表中price字段列下所有价格的总和。

select sum (price) AS Total from 表名;

sum()和group by 连用,返回每个分组的总和,如:

select id,sum(price) AS items_price from 表名 group by id;

 

3.AVG()函数

返回指定列数据的平均值(使用方法同sum()函数)

 

4.MAX()函数

返回指定列中的最大值(使用方法同sum()函数)

 

5.MIN()函数

返回指定列中的最小值(使用方法同sum()函数)


补充 1a~~z 中 a最小,z最大,在比较时,先比较第一个字母,若相等再比较下一个字母,一直到不等为止。

b < t

badw > bcad

补充 2:用聚合函数统计时会忽略 NULL 值,如统计 1,2,null,3,4的个数,结果为4。

解决方法:使用 ifnull(字段,0),将为null的值变为0

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL聚合函数是一组用于计算行数据的函数,它们返回单个值作为结果。常见的聚合函数包括SUM、AVG、COUNT、MAX和MIN。下面是一些高级使用聚合函数的技巧: 1. 使用DISTINCT关键字 在聚合函数中使用DISTINCT关键字可以消除重复值。例如,如果您想计算不同城市中有多少个客户,可以这样写: ``` SELECT COUNT(DISTINCT city) FROM customers; ``` 2. 使用GROUP BY子句 GROUP BY子句将行分组为多个集合,并对每个组应用聚合函数。例如,如果您想找出每个城市的平均客户数,可以这样写: ``` SELECT city, AVG(customers) FROM sales GROUP BY city; ``` 3. 使用HAVING子句 HAVING子句与WHERE子句类似,但它用于过滤GROUP BY子句生成的结果集。例如,如果您想找出平均客户数大于10的城市,可以这样写: ``` SELECT city, AVG(customers) FROM sales GROUP BY city HAVING AVG(customers) > 10; ``` 4. 使用ORDER BY子句 ORDER BY子句用于按升序或降序对结果集进行排序。例如,如果您想按平均客户数降序排列城市,可以这样写: ``` SELECT city, AVG(customers) FROM sales GROUP BY city ORDER BY AVG(customers) DESC; ``` 5. 使用聚合函数嵌套 聚合函数可以嵌套在其他聚合函数中。例如,如果您想找出每个城市的最大客户数,可以这样写: ``` SELECT city, MAX(customers) FROM (SELECT city, COUNT(*) AS customers FROM sales GROUP BY city) AS subquery GROUP BY city; ``` 以上是一些高级使用聚合函数的技巧,它们可以帮助您更好地处理和分析数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

healthLau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值