全部评论
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的就行
相关推荐
点赞 评论 收藏
分享
11-14 15:03
西安电子科技大学 C++ 点赞 评论 收藏
分享
逍遥生777:你找java的后端开发,那和java无关的项目就不用写了,剩余的项目写详细点
点赞 评论 收藏
分享