TT在努力 2022-11-23 20:22 采纳率: 80.9%
浏览 10
已结题

SQL59 截至当月的练题情况

img


with t1 as
(select device_id,date_format(event_date,'%Y-%m') ym
from question_practice_detail
group by device_id,ym
having count(question_id)>1)
t2 as
(select device_id,ym,
lag(ym,1)over(partition by device_id order by ym) ym2
from t1
where period_diff(ym, ym2) = 1
select distinct device_id
from t2

不知道哪里错了
  • 写回答

1条回答 默认 最新

  • AllenGd 领域专家: 大数据技术领域 2022-11-25 11:03
    关注
    with t as (select device_id, date_format(event_date, '%Y-%m') as mon, 
    count(*) as cnt from question_practice_detail
    group by device_id, mon having cnt > 1)
    select distinct a.device_id from t a join t b 
    on a.device_id = b.device_id 
    and timestampdiff(month, concat(a.mon, '-01'), concat(b.mon, '-01')) = 1
    order by device_id desc;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 修改了问题 11月23日
  • 创建了问题 11月23日