You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于列值展开Oracle查询结果并添加唯一递增ID列

基于Oracle关联层次查询实现行展开并添加组内递增ID列

现有数据表:

col1col2
a2
b3
c1

期望查询结果(按col2的值展开行,并添加组内从1开始递增的col3列):

col1col2col3
a21
a22
b31
b32
b33
c11

基于原有的关联层次查询语句,只需将层次查询生成的LEVEL值作为新增的col3列返回即可,修改后的SQL语句如下:

SELECT col1, col2, num AS col3
FROM   test t,
       TABLE(
         CAST( 
           MULTISET(
             SELECT LEVEL
             FROM   DUAL
             CONNECT BY LEVEL <= t.col2
           )
           AS SYS.ODCINUMBERLIST
         )
       ) num

说明

  • 给TABLE(...)生成的数字集合表指定别名num后,即可直接将集合内的元素作为col3取出,实现组内从1到col2的递增效果。

内容的提问来源于stack exchange,提问作者SanderV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:50:27