sql - 生成表的 SQL,其中第 1 列是数字序列,第 2 列是运行总和
问题描述
生成如下表的 SQL(标准或任何主要变体)是什么?
1 1 -- 1
2 3 -- 2+1
3 6 -- 3+2+1
4 10 -- 4+3+2+1
5 15 -- 5+4+3+2+1
6 21 -- 6+5+4+3+2+1
……
第二列是第一列数字的总和。
我无法克服这个:
select rownum from all_objects where rownum <= 10;
产生第 1 列 (PL/SQL)
试图思考以下几行,但显然它是错误的,即使在语法上也是如此:
select rownum, count(t2.rownum)
from
(select sum(rownum) from all_objects where rownum <= 10) t2,
all_objects
where rownum <= 10;
解决方案
这是简单的数学:
select rownum, rownum * (rownum + 1) / 2
from all_objects
where rownum <= 10;
推荐阅读
- java - 如何将 Electron.js 与桌面应用程序的 Java 代码连接起来?
- php - html表格一页可以显示多少行?
- linux - 运行脚本以更改 wp-config 文件数据库名称
- javascript - 如何修复文件字段按钮多次提交表单
- github - 如何在 GitHub Hub 发布创建中设置描述
- node.js - 找不到 git-bash 上的全局命令 $ live-server?
- ssl - Cakephp + RDS + SSL:证书验证失败
- python - 如何在 for 循环中向 Pandas Dataframe 添加字符串值?
- terraform - terraform中布尔值的“”等价物是什么?
- sql - 我在 Oracle SQL 中的代码的查询优化