Netezza добавить новое поле для значения первой записи дня в SQL - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь добавить новые столбцы первых значений дня для местоположения и веса.

Например, исходный формат данных:

id         dttm         location     weight
--------------------------------------------
1     1/1/20 11:10:00     A           40
1     1/1/20 19:07:00     B           41.1
2     1/1/20 08:01:00     B           73.2
2     1/1/20 21:00:00     B           73.2
2     1/2/20 10:03:00     C           74

Мне нужен каждый идентификатор чтобы иметь только одну дневную запись, например:

id         dttm         location     weight
--------------------------------------------
1     1/1/20 11:10:00     A           40
2     1/1/20 08:01:00     B           73.2
2     1/2/20 10:03:00     C           74

У меня есть другие столбцы в моем наборе данных, которые я использую для создания местоположения и веса, поэтому я не думаю, что могу просто отфильтровать ' первые 'записи дня .. Можно ли написать запрос для распознавания первой записи дня для этих двух столбцов и создания нового столбца с этими значениями?

1 Ответ

0 голосов
/ 14 июля 2020

Вы можете использовать row_number():

select t.*
from (select t.*,
             row_number() over (partition by id, ddtm::date order by dttm) as seqnum
      from t
     ) t
where seqnum = 1;
...