须要注意的是:每一个字段都必须使用一个AVG函数:函数
select avg(id) as id_avg,avg(price) as price_avg from tb2;
如上,这样才能分别求出id和price的平均值。code
AVG函数忽略NULL。blog
使用 COUNT(column) 对特定列中具备值的行进行计数,忽略NULL值。ip
select count(*) from tb2;
select count(column_name) from tb2;
第一条语句会计算包含空值的记录,第二条语句则不会。select
MAX(),MIN()都必须指定列名。分别找出这一列最大值和最小值。方法
select sum(id) as id_sum,sum(price) as price_sum from tb2;
此语句分别检索出id和price的和。im
例如:统计
select id,count(*) as id_count from tb2 group by id;
此语句按id分组来检索出id和id数量。结果为:总结
tips:若是出现聚合函数,则只能使用group by而不能够使用order by.数据
能够理解成,having能够替代where,可是where不能替代having。由于having还能够过滤分组。
select id, count(*) from tb2 group by id having count(*)>=2;
此语句按id为分组,并检索出id数量不小于2的id和对应的数量。
HAVING 和 WHERE 的差异这里有另外一种理解方法:
where和having连用:
select id,price,count(*) from tb2 where price > 555 group by id having count(*)>=1;
以id为分组,检索price大于555而且数量很多于1的id,price,以及数量。