Ho un sottoinsieme di record che assomigliano a questo:Come ottenere la prossima data minima che non è tra 30 giorni e utilizzare come punto di riferimento in SQL?
ID DATE
A 2015-09-01
A 2015-10-03
A 2015-10-10
B 2015-09-01
B 2015-09-10
B 2015-10-03
...
Per ogni ID la prima data minima è il primo record di indice. Ora devo escludere i casi entro 30 giorni dal record dell'indice e qualsiasi record con una data superiore a 30 giorni diventa un altro record di indice.
Ad esempio, per ID A, 2015-09-01 e 2015-10-03 sono entrambi record di indice e verrebbero mantenuti poiché sono separati da più di 30 giorni. 2015-10-10 verrebbe eliminato perché è entro 30 giorni dal secondo caso indice.
Per ID B, 2015-09-10 verrebbe eliminato e NON sarebbe un caso indice perché è entro 30 giorni dal primo record dell'indice. Il 2015-10-03 verrà mantenuto perché è superiore a 30 giorni del primo record dell'indice e sarà considerato il secondo caso indice.
L'output dovrebbe essere simile a questo:
ID DATE
A 2015-09-01
A 2015-10-03
B 2015-09-01
B 2015-10-03
Come faccio a fare questo in SQL Server 2012? Non c'è limite al numero di date che un ID può avere, potrebbe essere da 1 a 5 o più. Sono abbastanza semplice con SQL quindi qualsiasi aiuto sarebbe molto apprezzato.
Stiamo ancora affrontando il problema? –