簡體   English   中英

計算行數,直到列中的值更改 mysql

[英]Count rows until value in column changes mysql

所以我有一個表,其中一列具有真或假(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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM