0

示例数据。想要保留最后一行。 抱歉,可能有一个非常简单的解决方案,但我是 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;
4

1 回答 1

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;
于 2019-03-17T22:02:08.247 回答