Я ищу способ получить все изменения значений в определенном столбце в Vertica с помощью SQL. Вот пример ...
Дата Имя Местоположение
01.01.2014 Джо Атланта
1/2/2014 Джо Атланта
03.01.2014 Джо Атланта
4 января 2014 г. Джо Бостон
05.01.2014 Джо Бостон
6 января 2014 г. Джо Атланта
07.01.2014 Джо Атланта
8 января 2014 г. Джо Нью-Йорк
09.01.2014 Джо Нью-Йорк
(Извините, я не разрешил опубликовать изображение)
Мне нужны только те строки, где Джо сделал первый ход. Но мне понадобится Атланта дважды, а некоторые строки являются дубликатами, которые не показаны в примере.
Фактический источник данных намного больше, с сотнями «дубликатов» на человека (представьте, что была бы строка для каждой улицы, на которой Джо был в тот день в каждом городе). Кроме того, мы делаем это для миллиона или около того людей в городе. та же таблица.
Я смирился с тем, что мне, скорее всего, потребуется создать временную таблицу, отсортировать по имени, затем по дате, но я не уверен, как получить всю необходимую информацию, не обращаясь к программному решению (писать что-то на C #)
Можно ли сказать что-то вроде «Если текущий город не равен городу на строку вверх, возьмите эту строку»? Я не думаю, что есть, но я немного растерялся.
Спасибо