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.

Share:
13,364
Luke Henz
Author by

Luke Henz

Updated on June 24, 2022

Comments

  • Luke Henz
    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
    Luke Henz almost 11 years
    Thanks alot for your help, I forgot about max() and group by.