如何在sqlite中按连续行分组?

如何在sqlite中按连续行分组?,sql,sqlite,group-by,Sql,Sqlite,Group By,我有一张像这样的桌子: id version count 1 0 3 2 0 4 3 0 3 4 1 3 5 1 2 6 1 1 7 0 3 8 0 5 我希望得到如下结果: min_id version sum 1 0 10 4 1 6 7 0 8 如果我使用SELECT MINid、version、sumcoun

我有一张像这样的桌子:

id version count
1  0       3
2  0       4
3  0       3
4  1       3
5  1       2
6  1       1
7  0       3
8  0       5
我希望得到如下结果:

min_id version sum
1      0       10
4      1       6
7      0       8
如果我使用SELECT MINid、version、sumcount group by version,我会得到以下结果:

min_id version sum
1      0       18
4      1       6

因为GROUP BY将所有内容组合在同一个版本中。我只想结合那些基于id的连续版本。

在SQLite中很难做到这一点,但这是可能的。现在,性能非常糟糕,但是我们的想法是,在使用不同id的任何给定行之前计算行数。这将标识每个组!瞧

select version, min(id), max(id), sum(count)
from (select t.*,
             (select count(*) from t t2 where t2.version <> t.version and t2.id < t.id) as grp
      from t
     ) t
group by version, grp;

那么,ID的数值有什么意义?它表示订单?为什么较旧的版本号以后会被重新使用?为什么版本不总是增加价值,而从不减少?