SQLite:SELECT 语句中的累加器(总和)列
我有一张这样的桌子:
从表中选择值;
value
1
3
13
1
5
我想添加一个累加器列,以便得到以下结果:
value accumulated
1 1
3 4
13 17
1 18
5 23
我该怎么做?我想做的事情的真实名称是什么?谢谢
I have a table like this one:
SELECT value FROM table;
value
1
3
13
1
5
I would like to add an accumulator column, so that I have this result:
value accumulated
1 1
3 4
13 17
1 18
5 23
How can I do this? What's the real name of what I want to do? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试这种方式:
但如果它在你的数据库上不起作用,只需添加
在 oracle 上起作用的命令;)但它也应该在 sqlite 上
try this way:
but if it will not work on your database, just add order by something
this works on an oracle ;) but it should on a sqlite too
这是一种创建运行总计的方法,而不会出现对所有先前行进行求和的低效率情况。 (我知道这个问题已经有 6 年历史了,但它是 SQLite 运行总计的第一个 google 条目之一。)
这应该只在导入所有值后运行一次。或者,在再次运行之前将累积列设置为所有空值。
Here's a method to create a running total without the inefficiency of summing all prior rows. (I know this question is 6 years old but it's one of the first google entries for sqlite running total.)
This should only be run once after importing all the values. Or, set the accumulated column to all nulls before running again.
该操作称为运行总和。 SQLite 不支持它,但有一些方法可以让它工作。其中之一正如 Sebastian Brózda 所发布的那样。我在另一个问题中此处详细介绍了另一个问题。
The operation is called a running sum. SQLite does not support it as is, but there are ways to make it work. One is just as Sebastian Brózda posted. Another I detailed here in another question.