函数 | 作用 |
---|---|
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()函数)
补充 1:a~~z 中 a最小,z最大,在比较时,先比较第一个字母,若相等再比较下一个字母,一直到不等为止。
b < t
badw > bcad
补充 2:用聚合函数统计时会忽略 NULL 值,如统计 1,2,null,3,4的个数,结果为4。
解决方法:使用 ifnull(字段,0),将为null的值变为0