mysql聚合索引失效
索引是可以高效的获取数据的数据结构, 对查询有很大作用. 索引对于数据库, 就像偏旁部首, 或者26个英文字母对于字典一样, 能很快的提高查询速度.但是索引也有它的缺点:首先就是占用磁盘空间其次是虽然...
2024.11.22很多时候,我们查询数据的时候都不会把明细数据查询出来,那样一般意义也不大。更多的时候是根据业务需求,把数据聚合成业务能直接使用的数据。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(单价*数量) DESCEnd
~更多内容可关注微信同名公众号:Lin王发林
索引是可以高效的获取数据的数据结构, 对查询有很大作用. 索引对于数据库, 就像偏旁部首, 或者26个英文字母对于字典一样, 能很快的提高查询速度.但是索引也有它的缺点:首先就是占用磁盘空间其次是虽然...
2024.11.22日期函数1.作用主要用于查询日期及对日期数据进行进一步处理2.主要函数函数名称格式说明curdate()curdate()查询当前日期curtime()curtime()查询当前时间now()now(...
2024.11.21MySQL中的SQL关键字有很多,以下是一些常用的SQL关键字,掌握这些常用的SQL关键字可用于SQL的“增、删、改、查”功能,在数据检索方面有很大的用处,需要学习并熟练掌握,下面逐一学习MySQL的...
2024.11.22作者:京东物流 于朔1 引言在日常工作中,我们会遇见一些慢SQL,在分析这些慢SQL时,我们通常会看下SQL的执行计划,验证SQL执行过程中有没有走索引。通常我们会调整一些查询条件,增加必要的索引,S...
2024.11.21MySQL 的常见的聚合函数有 AVG、COUNT、SUM、MIN、MAX,上一小节介绍了 AVG、COUNT、SUM 三种聚合函数,本小节介绍如何使用 MIN、MAX 两种聚合函数,另外再介绍一下如...
2024.11.20