gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 17:41:53 25 4
gpt4 key购买 nike

我有一张像这样的 table :

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 MIN(id), version, sum(count) 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;

关于sql - 如何在sqlite中按连续行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48955551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com