select t3.day_time ,t3.cnt ,t3.rn1 ,t3.rn2 ,t3.diff ,row_number() over (partition by t3.diff order by t3.day_time) as rn from ( select t2.day_time ,t2.cnt ,t2.rn1 ,t2.rn2 ,rn2 - rn1 as diff from ( select t1.day_time ,t1.cnt ,row_number() ov
select t3.day_time ,t3.cnt ,t3.rn1 ,t3.rn2 ,t3.diff ,row_number() over(partition by t3.diff order by t3.day_time) as rn from ( select t2.day_time ,t2.cnt ,t2.rn1 ,t2.rn2 ,rn2 - rn1 as diff from ( select t1.day_time ,t1.cnt ,row_number() over(partition by t1.cnt order by t1.day_time) as rn1 ,row_number() over(order by t1.day_time) as rn2 from ( select ‘2019-03-18 19:01:17‘ as day_time, 100 as cnt union all select ‘2019-03-18 19:01:19‘ as day_time, 100 as cnt union all select ‘2019-03-18 19:01:21‘ as day_time, 100 as cnt union all select ‘2019-03-18 19:01:22‘ as day_time, 5 as cnt union all select ‘2019-03-18 19:01:22‘ as day_time, 1 as cnt union all select ‘2019-03-18 19:01:24‘ as day_time, 100 as cnt union all select ‘2019-03-18 19:01:23‘ as day_time, 100 as cnt ) t1 order by t1.day_time ) t2 ) t3 ;