data have;
length first_col 8. second_col third_col $20;
input first_col second_col $ third_col $;
datalines;
1234 Insurance A
1234 Insurance A
1234 Auto B
5678 Claims B
5678 Claims B
5678 New C
;
run;
proc sort data=have noduprecs dupout=want;
by _all_;
run;
首先, group by * 在sql中无效。 你一定有什么东西作为你的礼物 group by 变量。我接受@jepperømer juul的数据作为样本。
data have;
length first_col 8. second_col third_col $20 hashid $64.;
input first_col second_col $ third_col $;
hashid = md5(cats(of _all_));
datalines;
1234 Insurance A
1234 Insurance A
1234 Auto B
5678 Claims B
5678 Claims B
5678 New C
;
run;
proc sql noprint;
create table want as
select *, count(*) as count from have group by hashid having count(*)>1;
quit;
2条答案
按热度按时间x7yiwoj41#
最简单的解决方案可能是使用
dupout
对a的命令proc sort
:r6hnlfcb2#
首先,
group by *
在sql中无效。你一定有什么东西作为你的礼物
group by
变量。我接受@jepperømer juul的数据作为样本。一般来说,
hashid
是其行的唯一ID,其值取决于此行上所有其他变量的值。