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

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

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

WITH tmp AS
(
SELECT 
    *,
    row_number() over (partition by user_id order by date) AS rk,
    lead(date,1) over (partition by user_id order by date) AS next_date
FROM login
)

SELECT
    DISTINCT date,
    ROUND(COALESCE(COUNT(CASE WHEN rk=1 AND timestampdiff(day,date,next_date)=1 THEN user_id END)/COUNT(CASE WHEN rk=1 THEN user_id END),0),3) AS p
FROM tmp
GROUP BY date
ORDER BY date

全部评论

相关推荐

点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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