Выберите строку с датой 1 и последней отметкой времени - PullRequest
0 голосов
/ 17 марта 2019

EXAMPLE DATA.WANT TO KEEP LAST ROW. Извините, возможно, есть простое решение, но я новичок в SQL и SAS.Код находится в "proc SQL" на SAS-языке.

Я пытаюсь создать задание в SAS DI, и у меня возникают проблемы с удалением неправильных строк.Это набор данных.Первичного ключа нет, но дата должна быть уникальной.Следовательно, должна быть только одна строка на дату.

Я хотел бы сохранить строку с последней отметкой времени, которая имеет дату 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;

1 Ответ

0 голосов
/ 18 марта 2019

Если вы хотите одну строку на дату, то я думаю, что это логика:

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;
...