sql 技巧(-)留存设备计算

洛水青柳2017IP属地: 上海
字数 238阅读 712

一、设备留存求解

过程分解

  代码:# 设备存留去重新

SELECT  g.time  ,

-- 行列转置

sum(if(days = 1,rc,0)) as '1d',sum(if(days = 2,rc,0)) as '2d',sum(if(days = 3,rc,0)) as'3d',sum(if(days=4,rc,0)) as '4d',sum(if(days = 5,rc,0)) as '5d'FROM

-- 按照注册日期和留存日期汇总

(SELECT  G.TIME,G.DAYS ,COUNT(TIME) RC FROM

--计算留存日期

(SELECT a.time ,a.deviceid,b.* ,DATEDIFF(b.logintime,TIME) AS DAYS FROM

--去除创角表中的重复值

(SELECT  b.accid,b.deviceid,DATE_FORMAT(b.time,'%Y-%m-%d')  time from

t_hero_createrole    as  b

INNER JOIN

(SELECT  a.accid  , min(a.time)  as  t  FROM  t_hero_createrole  as  a

GROUP BY  a.accid)a

on  a.accid =b.accid and  a.t =b.time) as a

RIGHT JOIN

--去除登录表的重复值

(select  c.accid  ,date_format(c.logintime,'%Y-%m-%d' ) as logintime from t_hero_logout as c

GROUP BY  c.accid  ,date_format(c.logintime,'%Y-%m-%d' ) ) as b

on a.accid =b.accid) AS  G

WHERE  G.TIME IS NOT NULL AND  DAYS > 0

GROUP BY  G.TIME,G.DAYS)  G

GROUP BY  G.TIME

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
1人点赞
更多精彩内容,就在简书APP
"赞赏的人都有好运气哦"
还没有人赞赏,支持一下
总资产15共写了1.6W字获得72个赞共49个粉丝

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,998评论 0 23
  • 关于我为什么要选择登山。 很长时间没有出去旅行了,这也算不上一次旅行计划,更像一次呼吸。我想通过这次登山来使得自己...
    王瀚玥阅读 585评论 0 1
  • 16号在图书馆写的 玩游戏花的时间挺多的,但是又舍不得删,所以如果11月之前没有完成上述内容,绝对卸载游戏,绝对。
    YaMine_17阅读 144评论 0 0
  • 原创2016-11-22仙儿 宋朝有个女子叫潘金莲,潘金莲的丈夫叫武大,她和姘夫西门庆勾搭成奸,为了长期苟合扫清障...
    我是仙儿阅读 571评论 0 0
  • 晚上在思考一个问题 永远 这个词好像真的很坑。 在我看来,永远代表你拥有一个无限长的期限,结合具体语境,你会在这个...
    红心芭乐阅读 246评论 0 0