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

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

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

# 思路:新用户次日登陆用户数/总用户数
# 1.次日登陆用户数
# (1)查询每个用户第一次登录时间
# select user_id,min(date)
# from login 
# group by user_id
# (2)筛选出第一次登陆之后次日仍然登陆的用户 -- 子查询
# SELECT user_id,date
# from login 
# where (user_id,date) in (
#   select user_id,date_add(min(date),interval 1 day)
#   from login 
#   group by user_id
# )
# (3)新用户次日登陆用户数
# SELECT count(distinct user_id)
# from login 
# where (user_id,date) in (
#   select user_id,date_add(min(date),interval 1 day)
#   from login 
#   group by user_id
# )
# 2. 总用户数
# SELECT count(distinct user_id)
# from login 
# 3.次日登陆用户数/总用户数
SELECT round(count(distinct user_id)/(SELECT count(distinct user_id) from login ),3)
from login 
where (user_id,date) in (
  select user_id,date_add(min(date),interval 1 day)
  from login 
  group by user_id
)
全部评论

相关推荐

牛客60022193...:大厂都招前端,他们觉得AI能替代前端,可能他们公司吊打btaj吧
点赞 评论 收藏
分享
12-27 22:46
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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