这是我在下面给出的查询。select * from data where value = "yes";我的ID是自动递增,下面是给定查询的结果。id || value 1 || yes3 || yes4 || yes6 || yes9 || yes如何在sqlite中使用ROW_NUMBER?这样我就可以得到下面给出的结果。NoId || value 1 || yes2 || yes3 || yes4 || yes5 || yesROW_NUMBER AS NoId。
3 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
试试这个查询
select id, value, (select count(*) from tbl b where a.id >= b.id) as cnt
from tbl a
| id | value | cnt |
--------------------
| 1 | yes | 1 |
| 3 | yes | 2 |
| 4 | yes | 3 |
| 6 | yes | 4 |
| 9 | yes | 5 |
长风秋雁
TA贡献1757条经验 获得超7个赞
我对fiddleanswer进行了一些修改,并得到了预期的结果
select id, value ,
(select count(*) from data b where a.id >= b.id and b.value='yes') as cnt
from data a where a.value='yes';
result
1|yes|1
3|yes|2
4|yes|3
6|yes|4
9|yes|5
添加回答
举报
0/150
提交
取消