[英]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.