2014-04-14 3 views
0

Мне нужно сравнить временные метки тех же записей ключей и обновить столбец «NEW_RECORD»с номером 1, который имеет последнюю дату в обеих записях.Сравнить отметки времени и обновить столбец флага

Например, записи с Key 1, одна запись, которая имеет 2013 год колонка NEW_RECORD Эта запись должна быть установлена ​​от 0 до 1. Любая помощь будет заметна.

Так что сравнение должно быть между подобными ключами, и следующим шагом к обнови столбец NEW_RECORD. Благодарю.

enter image description here

+0

Можете ли вы привести пример с предыдущими данными, а также с измененными данными. – AngocA

+0

Я добавил снимок экрана. Это первый случай, когда я сталкиваюсь с этой проблемой с моими данными и должен ее исправить. То, что я хочу сделать, - сравнить CREATE_TS каждой пары идентичных ключей и которая является последней по дате, Обновить эту запись NEW_RECORD от 0 до 1. – Superman

+0

Какая версия/платформа DB2? Это должно быть _very_ похоже на многие из существующих вопросов «найти/удалить дубликаты». Как вы планируете использовать/какие запросы вы планируете использовать с этой информацией? Вам нужно будет обновить эту информацию еще раз, когда на новую запись будет дан ответ? –

ответ

1
update 
    (select * 
    from 
     (select 
     t.*, 
     row_number() over (partition by somekey order by create_ts desc) rn 
     from test t) 
    where rn = 1) 
set new_record = 1 
+0

Спасибо Mustaccio за ваш ответ. Если вы посмотрите на мою попытку. Я написал следующий запрос вчера, и мой запрос пропустил 10 записей. Однако ваш запрос точно делит общие числа на 2. Так выглядит так, что ваш запрос верен. 'select a. * From table_dup внутреннее соединение table_dup b на a.key = b.key и a.create_ts Superman

Смежные вопросы