题解 | #牛客每个人最近的登录日期(三)#

牛客每个人最近的登录日期(三)

http://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d

思路:想知道第一次登陆后,第二天登陆和没登陆的客户数。

  • 1,以用户ID分组,聚合函数出每个用户第一次登陆的日期,用并dateadd函数求出第二天的日期,此表为t1
  • 2,t1表与原表(t2)连接,只连接登陆日期为第二天的
  • 3,第二天登陆的有连接上t2.userid和date,第二天没有登陆的id和date列为空,因此想知第二天登陆的人/第一天登陆的所有人=t2.userid的个数/t1.userid的个数
select round(count(t2.user_id)/count(t1.user_id),3)
from 
(select user_id,min(date),DATE_ADD(date,INTERVAL 1 DAY) next_date
from login
group by user_id) t1
left join login t2 on t1.user_id=t2.user_id and t1.next_date=t2.date
;
全部评论

相关推荐

昨天 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务