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;