2016-05-26 1 views
1

У меня есть набор данных ниже, и мне нужно найти и отметить, кто перезвонил в течение 5 дней на основе номера телефона и даты звонка, как показано ниже. Как это сделать в улье? Спасибо за помощь.Hive SQL: как найти и зарегистрировать флаг в диапазоне дат

PhoneNumber CallDate Callback_Flag 
    5713555841 5/6/2016 Yes 
    5713555841 5/9/2016 No 
    5713555841 5/19/2016 No 
    5714390412 1/15/2016 Yes 
    5714390412 1/19/2016 No 
    5714390412 2/16/2016 No 
    5714390412 3/24/2016 No 
    5756379433 3/11/2016 Yes 
    5756379433 3/16/2016 No 
    5756379433 4/12/2016 No 

ответ

1

Использование lead():

select t.*, 
     (case when lead(calldate) over (partition by phonenumber order by calldate) > date_add(CallDate, 5) 
      then 'Yes' 
      else 'No' 
     end) 
from t; 
Смежные вопросы