化妆品设计网站,昆山 网站设计,wordpress 字母排列文章,网站访问大小 计算流量一、SQL窗口函数
1.是什么
OLAP#xff08;Online Anallytical Processing联机分析处理#xff09;#xff0c;对数据库数据进行实时分析处理。
2.基本语法#xff1a;
窗口函数OVER #xff08;PARTITION BY 用于分组的列名 ORDER BY 用于排序的…一、SQL窗口函数
1.是什么
OLAPOnline Anallytical Processing联机分析处理对数据库数据进行实时分析处理。
2.基本语法
窗口函数OVER PARTITION BY 用于分组的列名 ORDER BY 用于排序的列名
注
窗口函数都有哪些
1.专用窗口函数rank相等的值排名相同计数、dense_rank相等的值排名相同不计数、row_number对相等的值不进行区分、first_value用于获取在分组内的第一个值、last_value、lead用于在查询结果集中访问当前行之后的行的数据、lag在查询结果集中访问当前行之前的行的数据等 SELECT order_id,customer_name,order_amount,order_amount - LAG(order_amount) OVER (ORDER BY order_id) AS previous_order_difference
FROM orders;2.聚合窗口函数count, sum, avg, max, min等除count其他聚合函数忽略NULL。
PARTITION BY类似于聚合函数中的GROUP BY子句但是在窗口函数中要写成PARTITION BYORDER BY和普通查询语句中的ORDER BY没什么不同
3. 窗口函数和聚合函数的区别
1.用OVER关键字区分窗口函数和聚合函数。
2.聚合函数每组只返回一个值窗口函数每组可返回多个值。
4.注意事项
1.原则上只能写在SELECT子句中因为窗口函数是对WHERE或者GROUP BY子句处理后的结果进行操作。over里的分组以及排序的执行晚于where、group by、order by的执行。
2.常见主流数据库目前都支持窗口函数。
3.partition子句原则上可省略但这就失去了窗口函数的意义。
5.为什么要用
group by分组汇总后改变了表的行数一行只有一个类别。而partition by和rank函数不会减少原表中的行数。
窗口函数表示“范围”的意思partition by分组后的结果。
二、A/B test
1. 原理
核心假设检验。检验实验组和对照组的指标是否有显著性差异。
先做出假设然后获取数据最后根据数据来进行检验。
假设
零假设实验组 对照组指标相同无显著差异
备择假设实验组 对照组 指标不同有显著差异
检验根据指标的属性以及样本量的大小选择合适的检验方法。常用的检验方法有Z检验、t检验、卡方检验和F检验。
t检验总体正态分布、总体方差未知或独立小样本平均数的显著性检验、平均数差异显著性检验。Z检验总体正态分布、总体方差已知或独立大样本平均数的显著性检验、平均数差异显著性检验。卡方检验检验实验组是否服从理论分布将对照组看成理论分布。
2. 流程
1.确定实验目标
评价指标和护栏指标
评价指标是驱动公司实现核心价值的指标要具有可归因性、可测量性、敏感性和稳定性
护栏指标也就是辅助指标。
评价指标重点关注一个目标护栏指标可以选择多个作为辅助避免达成一个目标造成别的利益的损失。
比如要提升广告收入我们在页面部分多插入一条或多条广告虽然短期内是提高了收入但是长期以来用户体验就会变差造成用户反感继而流失。
2.设计实验
建立假设建立零假设和备选假设零假设一般是没有效果备择假设是有效果。选取实验单位有以下三种常用用户粒度。
用户粒度以一个用户的唯一标识来作为实验样本。好处是符合A/B实验的分桶单位唯一性不会造成一个实验单位处于两个分桶造成的数据不置信。
设备粒度以一个设备标识为实验单位。相比用户粒度如果一个用户有两个手机那么也可能出现一个用户在两个分桶中的情况所以会造成数据不置信。
行为粒度以一次行为为实验单位也就是用户某一次使用该功能实验桶下一次使用可能就被切换为基线桶会造成大量的用户处于不同的分桶。不推荐。
计算样本量很重要
太小实验结果不会可信
太大影响面越大。负面影响流量和资源的浪费。
流量分配分流指直接将整体用户切割为几块用户只能在一个实验中不会相互影响。实验之间是互斥的和分层指将同一批用户不停地随机后处于不同的桶种。同一用户属于多个不同的实验且相互之间不影响企业中常用计算试验周期