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

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

http://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8

select date,ifnull(round((lead(dengyu2)over(order by date))/dengyu1,3),0) as p
from                        *#4.最后将dengyu2的向下取一行与dengyu1比,如果是none则等于0*
(select date,count(judge = 1 or NULL) dengyu1,count(judge = 2 or NULL) dengyu2
from                        *#3.数出dengyu1的数目和dengyu2的数目*
(select *,
case when (user_id,date) in 
                            (select user_id,min(date)
                            from login 
                            group by user_id
                            ) then 1   
                            *#1.将新用户第一次登录赋1 *
                             
     when (user_id,date) in (select user_id,date_add(min(date),interval 1 day)
                            from login                     
                            group by user_id
                            ) then 2 else 0 end judge       
                            *#2.将新用户第一次登录后的第二天还登陆赋2*
                                                      
from login) as n     #变成新表
group by date)  as nn
全部评论

相关推荐

黑皮白袜臭脚体育生:春节刚过就开卷吗?哈基馆,你这家伙......
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务