1、统计数据记录条数:统计函数COUNT用来实现统计数据记录条数,可以用来确定表中记录的条数或符合条件的记录。
2、统计计算平均值:统计函数AVG首先用来实现统计计算特定字段值之和,然后求得该字段的平均值。
3、统计计算求和:统计函数SUM用来实现统计数据计算求和,该函数可以用来计算指定字段值之和或符合条件的指定字段值之和。
4、统计计算最大值和最小值:统计函数MAX和MIN用来实现统计数据计算求最大值和最小值。
很多时候,我们查询数据的时候都不会把明细数据查询出来,那样一般意义也不大。更多的时候是根据业务需求,把数据聚合成业务能直接使用的数据。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
◆ PowerBI开场白
◆ Python高德地图可视化
◆ Python不规则条形图
窗口函数(window functions),也叫分析函数和OLAP函数,MySQL在8.0之后开始支持窗口函数。窗口函数可以用来对数据进行实时分析处理,和group by有类似之处,其区别在于窗口会对每个分组之后的数据按行进行分别 *** 作,而group by一般对分组之后的函数使用聚合函数汇总,做不到对不同的group中的行数据进行分别 *** 作。这就简单介绍几种常见的MySQL窗口函数。下表中列出了几种常见的窗口函数,并对其基本功能进行了描述。接下来我们会以一段示例,来展示MySQL中窗口函数的用途和效果。
假设我们存在一张如下的员工工资表,接下来我们将以这张表对窗口函数的使用方法进行简单的演示。
窗口函数的语法如下,所有的窗口函数均遵循以下语法:
其中 frame_clause 语法如下。
接下来我们将展示一些场景的窗口函数的用法和效果。
示例: 对所有员工按照薪资降序排序,并给出对应的row_number、rank和dense_rank的排名
示例: 对每个部门的员工按照薪资降序排序,并给出对应的row_number、rank和dense_rank的排名
示例: 对所有员工按照薪资降序排序,并给出对应的row_number、rank和dense_rank的排名,最终结果按照员工号进行排序输出。
示例: 找出每个部门工资最高的人。
示例: a.将所有员工按照工资递增的顺序分成4组。b.根据员工入职日期升序分成7组。
示例: 获取每个部门,按工资从低到高得累计和。
示例: 获取每个部门得工资累计和。
示例: 获取整个公司的薪资按照薪资递增的累计和。
示例: 获取整个公司的薪资按照薪资递增的前两行和后一行范围内的薪资和。
示例: 每个部门的平均工资。
示例: 获取整个公司的薪资按照薪资递增的前两行和后一行范围内的薪资平均值。
示例: 根据薪资排序,获取CUME_DIST()和PERCENT_RANK()
示例: a. 获取每个人入职前一行的数据,默认值为"2021-01-01"b. 获取每个人入职前两行的数据,不设置默认值c. 获取每个人入职后一行的数据,默认值为"2022-01-01"d. 获取每个人入职后两行的数据,不设置默认值
示例: a. 按照入职日期顺序排序,找出当前每个部门最先入职的人的薪资。b. 按照入职日期顺序排序,找出当前每个部门最后入职的人的薪资。
示例: a.获取截至当前工资第二高的人的工资。b.获取第二个入职的人的工资。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)