例如,我有一个数据集如下:
id Date
1 2000/01/01
1 2001/01/01
1 2002/01/01
2 2003/01/01
通过 datastep 或 sql,我如何获得 id = 1 和最新日期 2002/01/01 的记录?帮助表示赞赏,并提前感谢。
试试这个 sql。
select id,max(Date)
from yourtable
group by id;
如果您想要整个记录并且数据按所示排序(按 id 和 DESCENDING 日期),您可以使用此数据步骤:
data want;
set have;
by id; /* you don't need to specify date here */
if last.id;
run;
这将为您提供每个 ID 的最新记录。
你可以试试:
proc sql;
create table my id as
select id,max(Date)
from yourtable
where id=1;
quit
你也可以试试这个
proc sql;
create table my id as
select id,Date
from yourtable
where Date=(select max(Date) where id = 1 )
quit
/*Sort your data by id and descending date then*/
data want;
set have;
by id; /* you don't need to specify date here */
if first.id;
run;