Mysql 如何获取此表的递增数字?

Mysql 如何获取此表的递增数字?,mysql,sql,select,Mysql,Sql,Select,这是我的事件表。如何编写查询以添加列X,当它在事件列中遇到1时,该列将递增 输入: |id |event| |------|-----| |1 |0 | |2 |0 | |3 |1 | |4 |0 | |5 |1 | |6 |0 | |7 |0 | |8 |0 | |9 |1 | |10 |0 | 预期产出: |id |event| X | |

这是我的事件表。如何编写查询以添加列
X
,当它在事件列中遇到1时,该列将递增

输入:

|id    |event|
|------|-----|
|1     |0    |
|2     |0    |
|3     |1    |
|4     |0    |
|5     |1    |
|6     |0    |
|7     |0    |
|8     |0    |
|9     |1    |
|10    |0    |

预期产出:

|id    |event| X |
|------|-----|---|
|1     |0    | 1 |
|2     |0    | 1 |
|3     |1    | 2 |
|4     |0    | 2 |
|5     |1    | 3 |
|6     |0    | 3 |
|7     |0    | 3 |
|8     |0    | 3 |
|9     |1    | 4 |
|10    |0    | 4 |


您只需要
事件的累计总和

select t.*,
       (sum(event) over (order by id) + 1) as x
from t;