如果我正确地遵循了您的说明,则可以使用如下窗口功能来做到这一点:
select from ( select t.*, row_number() over(partition by formid order by logdate desc) rn, sum(case when value > 5 then 1 else 0 end) over(partition by formid order by logdate desc) grp from mytable t) twhere rn = grp
想法是将以上值的数量与
5行号进行比较,从最近的值开始计数。两个值相等的行可以保留。



