几个SQL分析小技巧

共 1358字,需浏览 3分钟

 ·

2020-11-19 13:25

     

                                                                                                  摄于 学校

我的研究生三年过的比较充实;研一和绝大多数学生一样在学校学R语言、统计学、预测、评价模型等理论知识。研一过完的暑假,我便去了帝都开启实习,先后在创业公司和某大厂做数据分析相关工作。关于如何平衡实习和发论文,某乎上有很多回答可以借鉴,我只想说一点,靠运气还有一点点规划,如果你想研二就开始实习(后面拿到大厂实习就很easy了),那么研一你的论文初稿就得出来,不然你拿什么去找老师申请实习,当然并不是说你有论文,你就可以出去实习啦,还得靠一点运气,取决于你的导师是否允许你出去。

今天刚拿到学校邮寄的行李和毕业证书,心生感慨……

开始正文ing

OX01 如何绘制直方图

如何绘制直方图?其实,我想说的是如何处理数据。

想了解一下全部发货物品的单价的分布情况,每10元作为一个区间?

最终结果如下:

下面分享两种数据处理方法:excel和SQL。
Excel提供了三种处理方法:
1、Frequency函数
2、数据透视表
3、数据分析加载项
具体参考:https://www.jianshu.com/p/a8d13b6d52d8 
其实,我们可以直接写SQL从数据库中取出符合直方图要求的数据,具体代码如下:


OX02  如何巧用full join
思考:将左边的表格变成右边的

逻辑:内/左连接行数不可能增加,字段可以增加;唯一可增加 行数的就是 全连接。这里辅助表full_join_num就是帮助控制行输出的!


OX03 如何求单日单店营收?


这张图,平均单店营收=sum(实收金额)/count(distinct 店铺ID)
咋一看,没问题,细细想来:
1、求单日单店营收,还得除以365?
2、1成立的前提,所有的店铺都是某年1月1号成立并开始营收,显然这并不可能!
实际上,店铺都是分布在一年中的任何一天开始营业,为了避免极端值的影响(比如一年最后一天开始营业),我们一般想到:
对于任何一家店铺而言,sum(实收金额)/date_diff(now(),[成立日期])。
那么对于n家店铺,[sum(s1)/m1+sum(s2)/m2+……+sum(sn)/mn]/n= ?  这种由单个到总体的逻辑,容易理解,却很难实现!
换种思路:
单店营收= sum()/count(distinct 店铺ID)
单日营收=sum()/营业天数 =sum()/count(distinct 统计日期)。
统计日期:只要门店有营业额,那么当天就录入统计日期,所以同一店铺,出现统计日期的次数,就是营业天数!
是不是很简单,具体计算公式如下:
单日单店营收= sum)()/count(distinct (concat(店铺ID,统计日期)))!

-- The End--

原创不易,您的转发与在看,就是我坚持的动力!

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报