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

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

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

SELECT l3.date
        ,round(ifnull((SELECT COUNT(*)
          FROM (SELECT l.user_id,DATE_ADD(l.date,
                                       interval -1 day) date
                FROM login l
                WHERE (l.user_id,l.date) in 
                      (SELECT l2.user_id,DATE_ADD(min(date),
                                       interval 1 day) date
                       FROM login l2
                       GROUP BY l2.user_id)
             ) g
          WHERE l3.date = g.date)
        / (SELECT COUNT(d)
           FROM login l4 left join (
                SELECT user_id,min(date) d
                FROM login
                GROUP BY user_id
                ) m on l4.user_id=m.user_id and l4.date=m.d
           WHERE l3.date = l4.date
           GROUP BY date),0),3)  p
FROM login l3
GROUP BY l3.date

代码都是借用前面几题的

全部评论

相关推荐

04-03 22:41
兰州大学 C++
老六f:有时候是HR发错了,我之前投的百度的后端开发,他给我发的算法工程师,但是确实面的就是百度开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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