mysql 查询次日留存 三日留存 七日留存

--sumdate--返回结果的注册日期

--REGDATE--子表注册日期

--LOGINDATE--次日登陆日期

--diff1--次日留存人数

--diff3--三日留存人数

--diff7--七日留存人数


select sumdate,SUM(diff1) diff1,SUM(diff3) diff3,SUM(diff7) diff7
        from (
            SELECT b.sumdate sumdate,a.guid,DATE(a.LOGINDATE),DATEDIFF(DATE(a.LOGINDATE),b.sumdate) diff,
                if(DATEDIFF(DATE(a.LOGINDATE),b.sumdate)=1,1,0) as diff1,
                if(DATEDIFF(DATE(a.LOGINDATE),b.sumdate)=3,1,0) as diff3, 
                if(DATEDIFF(DATE(a.LOGINDATE),b.sumdate)=7,1,0) as diff7
                from login_daily_tab a, 
                    (select DATE(t.REGDATE) sumdate,t.guid new_user_guid from regedit_tab t 
                        where DATE(t.REGDATE) between '2016-03-01' and '2016-03-30' 
                        GROUP BY DATE(t.REGDATE),t.guid ORDER BY DATE(t.REGDATE))b
            where a.guid =b.new_user_guid and a.LOGINDATE  
            GROUP BY b.sumdate, a.guid,DATE(a.LOGINDATE) ORDER BY a.guid,DATE(a.LOGINDATE)
        )logdiffs
        GROUP BY sumdate


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部