1
2
这基本上就是 running total 问题。 编辑: 我最初的主张是,这是为数不多的基于光标的解决方案实际上表现最好的地方之一。三角形自联接解决方案的问题是,它将重复地重新计算与下一步的子计算相同的累积校验和,因此,由于所需的工作随行数呈指数增长,因此伸缩性不强。 科琳娜的回答采用了“古怪更新”的方法。我已经调整它来做校验和,在我的测试中发现光标解决方案用了3秒而不是26秒。两者产生了相同的结果。然而不幸的是,它依赖于更新行为的一个未记录的方面。我肯定会读这个讨论 here 在决定是否在生产代码中依赖它之前。 还有第三种可能性 here the discussion here 这似乎是一个很好的可能性,计算运行总类型的东西在显示时间,但由光标执行时,计算结果必须保存回来。
Jeff Moden 文章
测试他们是一样的
|
2
1
我不确定滚动校验和,但对于滚动校验和,您可以使用UPDATE命令:
|
3
1
要滚动任何东西,你需要一个命令行的外观。可以是名字,一个整数键,一个日期等等。在我的示例中,我使用了name(即使示例数据中的顺序不是字母顺序)。另外,我正在使用 Checksum_Agg
另外,您最好有一个惟一的值来比较内部查询和外部查询。例如。,
|
Community wiki · SQL语法新手 1 年前 |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |