几个SQL分析小技巧

     

                                                                                                  摄于 学校

我的研究生三年过的比较充实;研一和绝大多数学生一样在学校学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--

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值