3

例如,我有一个数据集如下:

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 的记录?帮助表示赞赏,并提前感谢。

4

5 回答 5

6

试试这个 sql。

select id,max(Date)
from yourtable
group by id;
于 2013-06-03T04:45:38.597 回答
3

如果您想要整个记录并且数据按所示排序(按 id 和 DESCENDING 日期),您可以使用此数据步骤:

data want;
   set have;
      by id; /* you don't need to specify date here */
   if last.id;
run;

这将为您提供每个 ID 的最新记录。

于 2013-06-03T16:15:51.003 回答
2

你可以试试:

proc sql;
create table my id as
select id,max(Date)
from yourtable
where id=1;
quit
于 2013-06-03T18:43:06.577 回答
2

你也可以试试这个

proc sql;
create table my id as
select id,Date
from yourtable
where Date=(select max(Date) where id = 1 )
quit
于 2013-06-07T02:55:46.947 回答
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;
于 2020-09-24T06:09:28.840 回答