抱歉,可能有一个非常简单的解决方案,但是我是SQL和SAS数据集成工作室的新手。该代码在SAS语言的“ proc SQL”中。
我正在尝试在SAS DI中创建作业,但无法删除错误的行。这是数据集。没有主键,但是日期应该是唯一的。因此,每个日期应该只有一行。
我想保留datediff为1的最新时间戳的行。在此示例中,这意味着示例数据中的最后一行。
我没有成功尝试过此代码:
proc sql;
create table TEST as
select datetime1, datetime2, column1, column2, column3 from table1 t1
where datetime1=(select max(datetime1) from table1 t2 where t1.datetime1=t2.datetime1)
order by datetime1;
quit;
答案 0 :(得分:0)
如果您希望每个日期一行,那么我认为这是逻辑:
proc sql;
create table TEST as
select datetime1, datetime2, column1, column2, column3
from table1 t1
where datetime1 = (select max(tt1.datetime1)
from table1 tt1
where datepart(tt1.datetime1) = datepart(t1.datetime1)
)
order by datetime1;
quit;