SQL汇总数据(AVG,COUNT,MAX,MIN,SUM,DISTINCT)分组数据

聚集函数

函数说明
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列值之和
SELECT AVG(prod_price) AS avg_price
FROM products 
where vend_id =1003;

得到的输出 是名为avg_price ,vend_id为1003的平均值
注意
COUNT(*)所有 包括 NULL
COUNT©不包括NULL

聚集不同值

DISTINCT

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM products 
where vend_id =1003;

因为同一个价格可能会出现多次,在之前的例子中,无法避免这种情况,而加了DISTINCT 就可以每个价格只计算一次

分组数据

GROUP BY

SELECT vend_id,COUNT(*)  AS num_prods
FROM products 
GROUP BY vend_id ;

得到每 vend_id 有多少个行。
如果想对num_prods的数量进行限制,比如,num_prods>2才选择。需要在后面进行HAVING 限制

SELECT vend_id,COUNT(*)  AS num_prods
FROM products 
GROUP BY vend_id 
HAVING COUNT(*)>2

注意
HAVING 和WHERE 不一样,HAVING能应用在所有WHERE应用的场景,就是换了关键词,但是WHERE只能对行进行操作,HAVING还能对组进行操作

(未完待续……)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值