Mysql 对行进行计数,直到列中的值更改为止

Mysql 对行进行计数,直到列中的值更改为止,mysql,Mysql,所以我有一个表,表中的列有一个true或false(0或1)值。我想知道在达到1之前连续0的计数。例如,如果我有以下时间ASC: 0 0 1 0 1 0 0 0 最后一个连续0的返回数将为3。我一直在寻找一种方法来计数,直到值改变,但到目前为止没有运气。有什么想法吗 编辑: 这是我桌子的一个更清晰的例子 |id|counter|user_id| -------------------- |0 |0 |3 | -------------------- |1 |0

所以我有一个表,表中的列有一个true或false(0或1)值。我想知道在达到1之前连续0的计数。例如,如果我有以下时间ASC:

0
0
1
0
1
0
0
0
最后一个连续0的返回数将为3。我一直在寻找一种方法来计数,直到值改变,但到目前为止没有运气。有什么想法吗

编辑:

这是我桌子的一个更清晰的例子

|id|counter|user_id|
--------------------
|0 |0      |3      | 
--------------------
|1 |0      |3      | 
--------------------
|2 |1      |3      | 
--------------------
|3 |0      |3      | 
--------------------
|4 |1      |3      | 
--------------------
|5 |0      |3      | 
--------------------
|6 |1      |8      | 
--------------------
|7 |0      |3      | 
--------------------
|8 |0      |3      | 
--------------------

对于user_id=3,结果将是3

您的
time
列似乎指定了顺序。那么末尾的零的数量将是:

select count(*)
from table t
where t.col = 0 and
      t.time > (select max(t2.time) from table t2 where t2.col = 1);

此序列在一个单元格中显示查询行或更改?能否显示时间列?如果最后一条记录为1,我希望看到0。如果没有记录,我也希望看到0