六、聚合函数、数据分组
1.AVG函数:求平均值。需要注意的是:每个字段都必须使用一个AVG函数: select avg(id) as id_avg,avg(price) as price_avg from tb2; 如上,这样才能分别求出id和price的平均值。 AVG函数忽略NULL。 2.COUNT函数:统计数量。
3. MAX和MIN函数:计算最大值和最小值。MAX(),MIN()都必须指定列名。分别找出这一列最大值和最小值。 4. SUM函数:统计合计计算值。select sum(id) as id_sum,sum(price) as price_sum from tb2; 此语句分别检索出id和price的和。 5. Group by子句:分组。例如: select id,count(*) as id_count from tb2 group by id; 此语句按id分组来检索出id和id数量。结果为: tips:如果出现聚合函数,则只能使用group by而不可以使用order by. 6. having子句:过滤分组。
可以理解成,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,以及数量。 7.总结(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |