oracle,使用model补全中间空缺数字

来源:这里教程网 时间:2026-03-03 13:47:30 作者:

with t as(select 2 n,'tom' name from dual  union all select 4,'tom' from dual union all select 7,'tom' from dual            union all select 1,'jerry' from dual union all select 3,'jerry' from dual)   select name,n,f   from t  model   return updated rows /* partition by(name)*/  dimension by(name,n)  measures(1 f)  rules(  f[for (name,n) in (select name,minn+level-1 from(select name,min(n) minn,max(n) maxn from t group by name) connect by level<=maxn-minn+1 and prior name=name and prior sys_guid() is not null)]    =presentv(f[cv(),cv()],f[cv(),cv()],0)  )  order by 1,2

相关推荐