Допустим, у меня есть следующие значения дат в моей таблице:
#1 2019-01-01
#2 2019-02-01
#3 2019-03-01
#4 2019-05-01
#5 2019-06-01
#6 2019-06-15
#7 2019-07-01
Мне нужно сохранить только те даты, которые являются 2-месячными, начиная с предыдущего "хорошего".
Так , Я начинаю с:
# 1 - первый, я сохраняю его как хороший.
# 2 - это всего один месяц, так что не очень хорошо.
# 3 - это два месяца от # 1 (я игнорирую # 2, потому что это было нехорошо).
# 4 - это два месяца от # 3, поэтому я держу его
# 5 не хорошо, потому что это всего лишь один месяц из # 4
# 6, это не хорошо, потому что это всего полтора месяца из # 4 (# 5 игнорируется, потому что это не хорошо).
# 7 - это хорошо, потому что это два месяца от # 4, который был последним хорошим.
Есть ли простой, чистый способ сделать это?
Я начал с dens_rank () более и сравнить их с предыдущим рейтингом, но я не могу понять, как игнорировать плохие даты.