
SQL
文章平均质量分 51
chang小君
这个作者很懒,什么都没留下…
展开
-
拉链表思想(缓慢变化维)
问题:有一类问题,比如像用户修改了订单状态,需要看每个状态的生效时间范围等等,这类因为维度变化,又需要反映历史变化的情况可以使用拉链表思路:业务系统当用户操作的时候记录用户订单状态的操作时间,如下建表order_update,还有最终呈现效果的orer_his表,每这部分修改的数据按照新增和修改分类插入到order_his表中。表结构如下:create table order_his...原创 2020-04-26 00:22:01 · 1097 阅读 · 0 评论 -
sql用户留存率
每天的7日用户留存情况,从一段时间用户第一次登陆算起的留存情况SELECT first_day, sum(case when by_day = 0 then 1 else 0 end) day_0, sum(case when by_day = 1 then 1 else 0 end) day_1, sum(case when by_day = 2 then...原创 2020-04-19 17:45:52 · 1442 阅读 · 0 评论 -
连续登陆sql实现
背景已知:有个用户登陆表,包含用户id和用户登陆时间,表名users求:用户连续登陆天数,和用户最大连续登陆天数思路:先把每个用户按照登陆时间排序rn,在用登陆时间减rn得到一个值,如果值一样,说明是一段的连续登陆,然后把不连续的天数去掉(上一步得到的值只有一个,说明是不连续的),然后得出每段连续的登陆求连续登陆天数:select userid,sum(sc) as su...原创 2020-04-18 17:25:54 · 3794 阅读 · 3 评论 -
sql复购率计算多种方法
一.SELECT A.day,IFNULL(cast((base.`3days复购用户数`*1.0/base.`完成用户数`)*100 as decimal(18,2)),'0.00') AS rebuyRate3,IFNULL(cast((base.`5days复购用户数`*1.0/base.`完成用户数`)*100 as decimal(18,2)),'0.00') AS rebuy...原创 2018-10-23 14:49:16 · 11125 阅读 · 4 评论