还是想快点写完,进入下一个PowerBI专题了,应该后面再写五篇左右,就开始PowerBI系列了,然后会加一些SQL的综合使用案例。窗口函数写三篇就差不多了,后面应该还会加一些综合案例。这一篇主要介绍一下聚合函数和NTH_VALUE、NTILE函数,聚合函数和配上窗口函数使用场景还是很多,这个可以稍微 关注一下。
【NTH_VALUE】
NTH_VALUE(EXP,N),返回窗口中第N个EXP的值,EXP可以是表达式,也可以是列名。继续用之前的数据,取出每个用户的第二次购买的日期,SQL语句如下
从结果很明显看出,第一次购买日期是空值,从第二个购买日期开始,都是第二条购买日期记录。
【NTLIE】
NTILE(N),将分区中的有序数据分为n个桶,记录桶号。现在需要根据金额高低,把每个分区分成3组,SQL和结果如下
【聚合函数】
聚合函数参考这一篇, 《MySQL聚合函数》 。通过聚合函数作为窗口函数运算,可以动态计算在指定的窗口内的各种聚合函数值。计算每个用户,按时间排序,截止每个时间的订单数量、订单金额、平均金额、最大金额、最小金额。SQL语句和结果如下
End
很多时候,我们查询数据的时候都不会把明细数据查询出来,那样一般意义也不大。更多的时候是根据业务需求,把数据聚合成业务能直接使用的数据。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不规则条形图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)