题解 | #计算每天的新用户占比#

计算每天的新用户占比

https://www.nowcoder.com/practice/c95ddc4968044035853c22e000a0ec21

思路:每天用户活跃数可以通过按用户id去重统计得到,重点是怎么得到新用户的数量,按照规定只要当日为第一次登录为新用户,那么也就是说只要当日之前的没有登录记录就算是新用户,所以,这里我通过sum() if() 函数得到了新用户的数量

公式:新用户数量/当日用户活跃数*100 保留1位小数 最后拼接%,得到新用户占比

select
  t.login_date as dt,
  count(distinct t.uid) as total_user_num,
  concat(round(sum(IF((select count(1) from user_login_tb where
              uid = t.uid and login_date < t.login_date) > 0,0,1)
      ) / count(distinct t.uid) * 100, 1),'%' ) as new_user_rate
from
  user_login_tb t
group by
  t.login_date
order by
  t.login_date
全部评论

相关推荐

11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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