2016-05-26 27 views
1

Ich habe eine Reihe von Daten unten und ich muss finden und markieren, wer innerhalb von 5 Tagen auf der Grundlage von Telefonnummer und Rufdatum wie folgt aufgerufen hat. Wie mache ich das im Bienenstock? Danke für Ihre Hilfe.Hive SQL: So finden und kennzeichnen Auftreten innerhalb des Datumsbereichs

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 

Antwort

1

Verwendung 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;