题解 | #微博截止到某天每个用户已经连续签到的天数#

微博截止到某天每个用户已经连续签到的天数

http://www.nowcoder.com/practice/29bb7c20f37e468d9dd57afca23dd8f5

重点1:业务理解,逆向思考断签问题 重点2:datediff函数

SELECT 
    -- 2.计算日期差
    a.user_id, 
    DATEDIFF('2021-06-13', not_date) AS date_days
FROM 
    (
        -- 1.根据用户分组,根据时间排序得出最大断签的日期
        SELECT 
            user_id, 
            MAX(sign_date) AS not_date
        FROM 
            user_sign_tb
        WHERE 
            if_sign = 0
        GROUP BY user_id
        ORDER BY sign_date ASC
    ) a
ORDER BY a.user_id;
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务