sql - 如何在不使用游标的情况下在 SQL 中使用 FOR 循环
问题描述
我是 SQL 的初学者,更熟悉 oob 语言,所以试图弄清楚如何使用循环一直是一件令人头疼的事情。如果有人熟悉一个好的资源,我真的很感激?
关于这个问题。
我有一个表,其中第 1 列是百分比回报,然后第 2 列有一个起始值,否则为空。
首先,我想将第 2 行第 2 列更新为等于第 1 行第 2 列金额乘以第 2 行第 1 列。然后,对于表格的其余部分,我想取第 2 列中最近使用的单元格中的金额(在我们的示例中,它将是第 1 行),然后将其乘以第 3 行第 1 列中的百分比回报。
所以这是起始表:
column 1| column 2
,,, | 10
1.1 |
1.2 |
1.05 |
然后是结果表
column 1| column 2
,, | 10
1.1 | 11
1.2 | 13.2
1.05 | 13.86
解决方案
SQL 中的“for 循环”是通过游标完成的。
但请查看 SQL 函数 LEAD 和 LAG。
它们将涵盖您所描述的内容,即了解/使用 2 个相邻行的值的能力。
推荐阅读
- javascript - 如何更好地使用 .flatMap()、.map() 和 .filter() 在 Javascript 中迭代和过滤嵌套数组
- amazon-web-services - Amazon Quicksight - 是否可以在 Quicksight 中调用 API?
- android - 如何将按钮添加到 Firebase 消息通知?
- python - Django - 使用 pip 安装“Bootstrap4”后,settings.py 出现语法错误
- sql - 我们如何读取 varchar 列,取出整数部分并添加新列,使用脚本递增该整数部分
- spring-batch - 如果 Spring Batch 出错,如何退出 tasklet?
- reactjs - 如何将道具传递给在 React 中作为道具传递的组件?
- java - 如何根据我的 if 语句使我的第二个进度条工作?
- javascript - 文本区域的正则表达式
- python - 在 split() 函数的帮助下,以下程序中的错误是什么?