很多时候,我们查询数据的时候都不会把明细数据查询出来,那样一般意义也不大。更多的时候是根据业务需求,把数据聚合成业务能直接使用的数据。MYSQL中有5个聚合函数,如下面5个,用得最多的还是count和sum,下面分别介绍一下用法。 【COUNT】 在MySQL中,COUNT()函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数,使用方法有以下两种: 求order表中,查询一共有多少条订单数,SQL语句如下↓ 【SUM】 在MySQL中,SUM()是一个求总和的函数,返回指定列值的总和。 求order表中所有产品销售数量,SQL语句如下↓ 【AVG】 在MySQL中,AVG()函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。 求order表中,2021年所有产品的平均单价,SQL语句如下↓ 【MAX/MIN】 在MySQL中,MAX()函数是用来返回指定列中的最大值。 求order表中,查询最大的单价价格,SQL预计如下↓ 在MySQL中,MIN()函数是用来返回指定列中的最小值。 求order表中,查询最小的单价价格,SQL预计如下↓ 【结合GROUP BY】 正常情况下,聚合函数都是搭配着GROUP BY来使用的。可以是按省份聚合、产品聚合、时间聚合等等。下面演示每个品牌最低单价的聚合,其他几个聚合函数使用方式一样,SQL语句如下↓ 还可以用ORDER BY排个序,求每个品牌累计销售价格的SQL语句,从高到低排序↓ End ~更多内容可关注微信同名公众号:Lin王发林SELECT
COUNT(*) AS 总计订单数
FROM
sql_study.order;
SELECT
SUM(数量) AS 产品销售总量
FROM
sql_study.order;
SELECT
AVG(单价) AS 产品平均价格
FROM
sql_study.order
WHERE
日期 BETWEEN '2021-01-01' AND '2021-12-31'
SELECT
MAX(单价) AS 最大单价
FROM
sql_study.order;
SELECT
MIN(单价) AS 最低单价
FROM
sql_study.order
SELECT
p.品牌,MIN(o.单价) AS 产品最低单价
FROM
sql_study.order as o
left JOIN sql_study.product as p on o.产品id=p.产品id
GROUP BY
o.产品id
SELECT
p.品牌,sum(单价*数量) AS 产品总价
FROM
sql_study.order as o
left JOIN sql_study.product as p on o.产品id=p.产品id
GROUP BY
o.产品id
ORDER BY
sum(单价*数量) DESC