SAS datastep/SQL select latest record from multiple records with same ID
13,364
Solution 1
Try this sql.
select id,max(Date)
from yourtable
group by id;
Solution 2
If you want the entire record and the data is sorted as shown (BY id and DESCENDING date), you can use this data step:
data want;
set have;
by id; /* you don't need to specify date here */
if last.id;
run;
This give you the most recent record for each id.
Author by
Luke Henz
Updated on June 24, 2022Comments
-
Luke Henz almost 2 years
For example I have a dataset as below:
id Date 1 2000/01/01 1 2001/01/01 1 2002/01/01 2 2003/01/01
By datastep or sql, how could I get the record with id = 1 and latest Date 2002/01/01? Help is appreciated and thanks in advance.
-
Luke Henz almost 11 yearsThanks alot for your help, I forgot about max() and group by.