oracle 在组内生成标识符[已关闭]

j0pj023g  于 2023-03-01  发布在  Oracle
关注(0)|答案(1)|浏览(125)

8天前关闭。
Improve this question
我有一个表user_guid,user_id。我需要为每N条记录生成一个唯一的sys_guid(),这样一个user_guid,user_id(group)就有一个sys_guid()
我尝试创建表:user_guid、user_id、count和put row_number,以便在一个row_number中不超过10行,其中该数目取自count,按user_guid排序,user_id,然后为每个唯一的rn生成sys_guid
来自表
| 用户指南|用户标识|计数|
| - ------|- ------|- ------|
| 1个|1个|五个|
| 第二章|第二章|第二章|
| 三个|第二章|五个|
| 四个|三个|六个|
我想要张table
| 用户指南|用户标识|计数|伦琴|
| - ------|- ------|- ------|- ------|
| 1个|1个|五个|1个|
| 第二章|第二章|第二章|1个|
| 三个|第二章|五个|第二章|
| 四个|三个|六个|三个|

d7v8vwbk

d7v8vwbk1#

我不能用sql来做,所以我必须用SAS来写(这个任务本来是针对这个平台的)

proc sort data=test; by user_guid user_id; run; 
%let N = 10; 
data test(drop=sum);
 set test; 
 retain sum rn; 
 if _N_ = 1 then do; 
  rn = 1;
  sum = count; 
 end; else do; 
  if (sum+count) <= symget('N') then 
   sum = sum + count; 
  else do; 
   rn = rn + 1; 
   sum = count; 
  end; 
 end; 
run;

相关问题