BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
pchappus
Obsidian | Level 7

Anybody have some good resources on using select distinct vs group by? I feel hesitant when using them and find myself confused as to which one to use or if there are times you need to use both.

 

Thanks!

Paul

1 ACCEPTED SOLUTION

Accepted Solutions
Patrick
Opal | Level 21

@pchappus

Run below and examine the results. May be that explains things to you already a bit more.

In a nutshell: You use DISTINCT to de-duplicate rows, you use GROUP BY to aggregate values by the variables in the group by statement.

data have;
  input groupvar nvar cvar $;
  datalines;
1 10 A
1 10 A
1 20 B
2 50 B
2 40 B
;
run;

proc sql;
  select distinct groupvar, nvar, cvar
  from have
  ;
  select groupvar, sum(nvar) as sum_nvar, cvar
  from have
  group by groupvar
  ;
  select distinct groupvar, sum(nvar) as sum_nvar, cvar
  from have
  group by groupvar
  ;

  select distinct groupvar, sum(nvar) as sum_nvar, cvar
  from have
  group by groupvar
  having sum(nvar)>80
  ;

quit;

 

View solution in original post

1 REPLY 1
Patrick
Opal | Level 21

@pchappus

Run below and examine the results. May be that explains things to you already a bit more.

In a nutshell: You use DISTINCT to de-duplicate rows, you use GROUP BY to aggregate values by the variables in the group by statement.

data have;
  input groupvar nvar cvar $;
  datalines;
1 10 A
1 10 A
1 20 B
2 50 B
2 40 B
;
run;

proc sql;
  select distinct groupvar, nvar, cvar
  from have
  ;
  select groupvar, sum(nvar) as sum_nvar, cvar
  from have
  group by groupvar
  ;
  select distinct groupvar, sum(nvar) as sum_nvar, cvar
  from have
  group by groupvar
  ;

  select distinct groupvar, sum(nvar) as sum_nvar, cvar
  from have
  group by groupvar
  having sum(nvar)>80
  ;

quit;

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 14140 views
  • 3 likes
  • 2 in conversation