标记先前在 SQL 中填充条件的行

Mark rows that previously filled condition in SQL

我需要标记用户的所有行,这些行曾经完全满足条件 示例:

case when rank > 2 and clicks = 0 THEN [[[MARK ALL THE ROWS OF that user_id >= TIME]]] END .

这是我希望 table 的样子。我不确定我想做的事情在 sql 是否可行。

user_id Time    Clicks  Rank    Marking
2.30417E+13 10:39:03 AM 3   1   NULL
2.30417E+13 10:40:35 AM 0   1   NULL
2.30417E+13 10:40:36 AM 0   2   NULL**** All following rows should be marked
2.30417E+13 10:40:50 AM 1   1   Marked
2.30417E+13 10:41:20 AM 0   1   Marked
2.30417E+13 10:41:36 AM 0   2   Marked
2.30417E+13 10:42:41 AM 0   3   Marked
2.30417E+13 10:42:41 AM 0   4   Marked
2.30417E+13 10:44:23 AM 0   5   Marked
2.30417E+13 10:44:34 AM 0   6   Marked
2.30417E+13 10:44:36 AM 0   7   Marked
2.30417E+13 10:44:39 AM 0   8   Marked
2.30417E+13 10:44:44 AM 0   9   Marked
2.30417E+13 10:44:50 AM 0   10  Marked
2.30417E+13 10:44:53 AM 0   11  Marked
2.30417E+13 10:44:56 AM 0   12  Marked
2.30417E+13 10:45:05 AM 0   13  Marked
2.30417E+13 10:45:40 AM 1   1   Marked
2.30417E+13 10:45:41 AM 0   1   Marked
2.30417E+13 10:46:07 AM 0   2   Marked
2.30417E+13 10:46:07 AM 0   3   Marked
2.30417E+13 10:46:08 AM 0   4   Marked

谢谢。

update (yourtable) 
   set marking='MARKED' 
 where (user_id, `time`) in ( 
        select user_id,`time`
          from (yourtable) yt,
                (select user_id,min(`time`)
                   from (yourtable)
                   where rank=2 and clicks=0
                group by user_id) minned
        where yt.user_id=minned.user_id and
            yt.`time`>minned.`time`
        )