Это не похоже на строку выбора с последним вопросом о временной отметке и относится к Redshift
Я хочу разрешить пользователям обновлять части (промежуточной) таблицыСтрока в разные моменты времени , избегая при этом UPDATE
операторов .Это делается с помощью подхода только при добавлении, где мы продолжаем добавлять строки, где только уникальный идентификатор и отметка времени являются обязательными, а другие столбцы могут иметь или не иметь предоставленное значение.
Вопрос:
Учитывая таблицу, в которой кроме «первичного ключа» (ненадлежащим образом) и столбца метки времени, все остальные столбцы в этой таблице обнуляются , как объединить все строки, имеющие один и тот же первичный ключ, в однустрока путем выбора самого последнего ненулевого значения для каждого столбца, допускающего значение NULL , если существует одно такое ненулевое значение.
Пример:
|id|timestamp|status|stringcol|numcol|
|1 |456 |begin | | |
|1 |460 | | | 2 |
|2 |523 | | foo | |
|1 |599 |mid | blah | |
|2 |624 |begin | | |
|1 |721 |done | | 60 |
должно выдать
|id|timestamp|status|stringcol|numcol|
|2 |624 |begin | foo | |
|1 |721 |done | blah | 60 |