题解 | #任意两个连续自然月练题次数大于1的用户#

任意两个连续自然月练题次数大于1的用户

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

select distinct device_id
from 
    (select *,
    lead(cnt1) over(partition by device_id order by da) as cnt2
    from 
        (select device_id,
        date_format(event_date,'%Y-%m') as da,
        count(*) as cnt1
        from question_practice_detail
        group by device_id,date_format(event_date,'%Y-%m')
        order by 1,2
        ) t1
    )t2
where cnt1 >1 and cnt2 >1
order by device_id desc

全部评论
这样写是能通过,但是仅限于目前只有两个数据集,相当于distinct取巧把数据中不符合的id过滤掉了,只适用于数据集中同时出现同一id下满足连续月和非连续月且练习次数大于1。如果只出现非连续月且练习次数大于1,lead也能符合,但是就不对了,建议还是得限定一下两个月的差值满足1
点赞 回复 分享
发布于 11-25 16:32 北京

相关推荐

点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务