例如,我有一个数据集如下:
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的记录? 我们非常感谢您的帮助。
答案 0 :(得分:6)
试试这个sql。
select id,max(Date)
from yourtable
group by id;
答案 1 :(得分:3)
如果您想要整个记录并且数据按照显示的顺序排序(BY id和DESCENDING日期),您可以使用此数据步骤:
data want;
set have;
by id; /* you don't need to specify date here */
if last.id;
run;
这会为您提供每个ID的最新记录。
答案 2 :(得分:2)
你可以尝试:
proc sql;
create table my id as
select id,max(Date)
from yourtable
where id=1;
quit
答案 3 :(得分:2)
你也可以试试这个
proc sql;
create table my id as
select id,Date
from yourtable
where Date=(select max(Date) where id = 1 )
quit
答案 4 :(得分:0)
/*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;