题解 | #任意两个连续自然月练题次数大于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个岗位
点赞 评论 收藏
分享
走不到的路就这样算了吗:大佬硬气
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务