mysql聚合函数有哪些

发布时间: 2023-11-21 10:53 阅读: 文章来源:1MUMB414PS

很多时候,我们查询数据的时候都不会把明细数据查询出来,那样一般意义也不大。更多的时候是根据业务需求,把数据聚合成业务能直接使用的数据。MYSQL中有5个聚合函数,如下面5个,用得最多的还是count和sum,下面分别介绍一下用法。

【COUNT】

在MySQL中,COUNT()函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数,使用方法有以下两种:

COUNT(*)计算表中总的行数,无论某列有数值或者为空值;COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行。

求order表中,查询一共有多少条订单数,SQL语句如下

select COUNT(*) AS 总计订单数FROM sql_study.order;

【SUM】

在MySQL中,SUM()是一个求总和的函数,返回指定列值的总和。

如果在没有返回匹配行select语句中使用SUM函数,则SUM函数返回NULL,而不是0;DISTINCT运算符允许计算集合中的不同值;SUM函数忽略计算中的NULL值。

求order表中所有产品销售数量,SQL语句如下

select SUM(数量) AS 产品销售总量FROM sql_study.order;

【AVG】

在MySQL中,AVG()函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。

求order表中,2021年所有产品的平均单价,SQL语句如下

select AVG(单价) AS 产品平均价格FROM sql_study.orderWHERE日期 BETWEEN ‘2021-01-01‘ AND ‘2021-12-31‘

【MAX/MIN】

在MySQL中,MAX()函数是用来返回指定列中的最大值。

求order表中,查询最大的单价价格,SQL预计如下

select MAX(单价) AS 最大单价FROM sql_study.order;

在MySQL中,MIN()函数是用来返回指定列中的最小值。

求order表中,查询最小的单价价格,SQL预计如下

select MIN(单价) AS 最低单价FROM sql_study.order

【结合GROUP BY】

正常情况下,聚合函数都是搭配着GROUP BY来使用的。可以是按省份聚合、产品聚合、时间聚合等等。下面演示每个品牌最低单价的聚合,其他几个聚合函数使用方式一样,SQL语句如下

select p.品牌,MIN(o.单价) AS 产品最低单价FROM sql_study.order as o left JOIN sql_study.product as p on o.产品id=p.产品idGROUP BYo.产品id

还可以用ORDER BY排个序,求每个品牌累计销售价格的SQL语句,从高到低排序

select p.品牌,sum(单价*数量) AS 产品总价FROM sql_study.order as o left JOIN sql_study.product as p on o.产品id=p.产品idGROUP BYo.产品idORDER BYsum(单价*数量) DESC

End

~更多内容可关注微信同名公众号:Lin王发林

•••展开全文