This tutorial explains how to remove duplicates by a column but returns all the columns.
Suppose you want to remove duplicates based on name but returns all the variables.
![]() |
NODUPKEY Feature with PROC SQL |
data readin;Solution
input ID Name $ Score;
cards;
1 David 45
1 David 74
2 Sam 45
2 Ram 54
3 Bane 87
3 Mary 92
3 Bane 87
4 Dane 23
5 Jenny 87
5 Ken 87
6 Simran 63
8 Priya 72
;
run;
Suppose you want to remove duplicates based on name but returns all the variables.
proc sql noprint;Method 2 :
create table tt (drop = row_num) as
select *, monotonic() as row_num
from readin
group by name
having row_num = min(row_num)
order by ID;
quit;
proc sql noprint;The method 2 might not be the desired output. You can also use MIN instead of MAX.
create table tt as
select name, max(ID)as ID, max(Score) as Score
from readin
group by name;
quit;