统计报表里的数据总汇、平均、最大值这些,离不开MySQL 的集函数。像count
、sum
、avg
这些用得多,写报表、跑统计简直离不开,尤其你要用户活跃、订单金额啥的,基本就是标配。
函数用法也不复杂,count(列名)
能帮你数个数,sum(列名)
就把一列全加起来,记得它只能加数字列。avg
用来算平均值,搞用户评分、销售均值挺好用。还有max
和min
,一个找最大,一个找最小,写业务逻辑顺手。
语法上没啥门槛,关键是你得知道啥时候该用哪个函数。比如做电商后台的时候,经常一行 SQL 查出来一个月的订单总额、平均单价、最高交易额,那就得同时用好几个集函数。
你要是刚接触,可以先看看这篇MAX、MIN、AVG、SUM、COUNT 详解的文章,讲得挺全。还有像SUM 和 AVG 的基础用法这篇也适合入门。
顺便提醒下,count(*)
和count(列名)
有点差别,前者是统计总行数,后者只算不为 NULL 的行,搞不清楚结果就不对了。感兴趣的可以看看这篇关于 count(*)和 count(1)的性能差异。
如果你正在写 MySQL 相关的查询,或者做报表统计、数据,那这些集函数建议牢牢记住,能帮你省下不少事。