全部评论 
 select id from    (select *,sum(case when datediff(date-lag_date)<=1 and rate>=0.5 and lag_rate>=0.5 then 0 else 1                   end) over(partiton by id rows between unbounded preceding and current row) as s      from (select id,date,rate,               lag(date,1,null) over(partition by id order by date) as lag_date,               lag(rate,1,null) over(partition by id order by date) as lag_rate               from table)a    )tab group by id,s having count(1)>=3
思路:lag(date)over  as lag_date    sum(case when datediff(date-lag_date)<=1 and rate>=0.5 then 1 else 0)over()后面取大于等于3的就行
相关推荐
 点赞 评论 收藏   
分享
 
查看19道真题和解析
小天才公司福利 1163人发布

