聚合函数
聚合函数表示对值集合进行操作的组(集合)函数。
# 华为手机价格的平均值
SELECT AVG(price) FROM `products` WHERE brand = '华为’;
# 计算所有手机的平均分
SELECT AVG(score) FROM `products`;
# 手机中最低和最高分数
SELECT MAX(score) FROM `products`;
SELECT MIN(score) FROM `products`;
# 计算总投票人数
SELECT SUM(voteCnt) FROM `products`;
# 计算所有条目的数量
SELECT COUNT(*) FROM `products`;
# 华为手机的个数
SELECT COUNT(*) FROM `products` WHERE brand = '华为';
认识Group By
事实上聚合函数相当于默认将所有的数据分成了一组:
我们前面使用
avg
还是
max
等,都是将所有的结果看成一组来计算的;
那么如果我们希望划分多个组:比如华为、苹果、小米等手机分别的平均价格,应该怎么来做呢?
这个时候我们可以使用
GROUP BY
;
GROUP BY
通常和聚合函数一起使用:
表示我们先对数据进行分组,再对每一组数据,进行聚合函数的计算;
我们现在来提一个需求:
根据品牌进行分组;
计算各个品牌中:商品的个数、平均价格
也包括:最高价格、最低价格;
Group By的约束
使用我们希望给
Group By
查询到的结果添加一些约束,那么我们可以使用:
HAVING
。
比如:如果我们还希望筛选出平均价格在
4000
以下,并且平均分在
7
以上的品牌:
创建多张表
假如我们的商品表中,对应的品牌还需要包含其他的信息:
比如品牌的官网,品牌的世界排名,品牌的市值等等;