Это мои данные таблицы:Как получить последнее совещание подряд определенное состояние
sessionid | page | category | productid | time
1 | detail | 3 | 4 | 20150303 1002
1 | cart | null | 4 | 20150303 1003
2 | detail | 5 | 3 | 20150303 1005
2 | detail | 5 | 3 | 20150303 1007
2 | detail | null | 2 | 20150303 1008
2 | cart | null | 3 | 20150303 1010
2 | detail | 1 | 3 | 20150303 1013
Это мой ожидаемого результат
sessionid | page | category | productid | time | refercategory
1 | cart | null | 4 | 20150303 1003 | 3
2 | cart | null | 3 | 20150303 1010 | 5
В основном я хочу смотреть на только корзину событиях, и возьмите поле категории из самой последней строки подробностей до события, которая имеет значение, отличное от нулевой категории, и тот же productid.
Итак, для последнего события корзины с sessionid = 2 я бы поднялся до тех пор, пока не нажмет на страницу подробных сведений с таким же sessionid (= 2), что и productid (= 3) и значение, отличное от нулевой категории (= 5).
Я попытался подключиться (но не мог ограничить один результат) и задержкой (но не смог правильно фильтровать страницы). Я был бы признателен за любые советы относительно этой запутанной проблемы. Благодаря!
Привет спасибо за вашу помощь! Здесь, как я могу убедиться, что я вытаскиваю детальную строку, которая произошла «до» в событии тележки? – magu2
Чтобы уточнить, я отредактировал категорию и время в последней строке. Теперь ваша скрипка тянет 1 как refercategory, а не 5, я намеревался .. – magu2
Спасибо! Это отлично работает в SQL. Я думаю, что единственная проблема заключается в том, что Hive doen't позволяет мне использовать подзапрос после t2.time =(). Любые обходные пути? – magu2