sql - 按潜在客户增量值连接 Oracle
问题描述
我有这张桌子
COL1 COL2
---------
A 1
B 5
C 12
D 14
我想得到另一个。也就是说,在到达每个 col1 的下一个 col2 之前,一行包含 COL1 和增量值。
COL1 COL2
---------
A 1
A 2
A 3
A 4
B 5
B 6
B 7
B 8
B 9
B 10
B 11
C 12
C 13
D 14
编辑:这是我迄今为止尝试过的。看来我离解决方案并不远,但正在努力比这更进一步。
WITH aux (
col1,
col2
) AS (
SELECT
'A',
1
FROM
dual
UNION ALL
SELECT
'B',
5
FROM
dual
UNION ALL
SELECT
'C',
12
FROM
dual
UNION ALL
SELECT
'D',
14
FROM
dual
), aux1 AS (
SELECT
a.*,
nvl(LEAD(a.col2) OVER(
ORDER BY
a.col2
), a.col2) h
FROM
aux a
)
SELECT
*
FROM
aux1
CONNECT BY level >= col2
AND level <= h;
解决方案
推荐阅读
- node.js - 同一系统上的两个不同项目,具有不同的节点版本
- rest - 路由器、端点和 URL 之间有什么区别?
- makefile - accessing a variable inside foreach
- spring - ServerWebExchange attributes are empty
- search - 在 DIH 中正确使用 ContentStreamDataSource
- symfony - 教义 queryBuilder addSelect 语法
- c# - 使用 C# ZabbixAPI 将模板添加到 Zabbix 主机
- git - 仅可视化 git 分支拓扑,没有提交历史
- laravel - 仅在值存在时应用验证?
- xamarin - How can I modify my application from VM making direct calls to the back end C# to instead use Xamarin MessagingCenter?