Мне тяжело оборачиваться вокруг этого. Вот что у меня есть:
user_id | year
1 | 2015
1 | 2016
1 | 2018
1 | 2019
1 | 2020
2 | 2015
2 | 2016
2 | 2017
2 | 2018
2 | 2019
Что мне нужно, так это результат:
user_id | count
1 | 3
2 | 5
Поэтому для каждого пользователя мне нужно знать самые длинные последовательные полосы без пропусков по годам. У пользователя 1 был разрыв в 2017 году, поэтому самая длинная полоса - 2018-2020. У пользователя 2 не было никаких перерывов, поэтому его полоса составляет 5 лет. Я хочу убедиться, что любые пробелы сбрасывают счет по существу. Я нашел несколько решений для подсчета дат и тому подобное, но я не могу найти решение для увеличения целочисленных значений, которое по сути должно быть следующим по порядку, а не просто большим. Я надеюсь на умный MySQL совместимый запрос.