Я хочу написать запрос t-sql, который вернет самую длинную длину наиболее последовательного числа, которое больше нуля в серии, например: у меня есть следующий набор данных
create table samples(
id int,
num1 int, num2 int, num3 int, num4 int, num5 int,
num6 int, num7 int, num8 int, num9 int, num10 int
);
insert into samples values
(1, 1, 1 , 0, 0 , 0, 1, 1 , 1 , 0 , 0 ),
(2, 1, 1 , 1, 1 , 0, 1, 1 , 1 , 0 , 0 ),
(3, 0, 1 , 1, 0, 0, 1, 1 , 1 , 0 , 0 );
Данные представляют активациюпо месяцам. (на 10 месяцев).Я хотел бы получить самый длинный активный период времени через 10 месяцев.
Для id=1
есть два 1 в начале и три 1 после нескольких нулей, для этого идентификатора я хотел бы получить три как результат.Для id=2
есть четыре 1 в начале и три 1 после нуля, для этого идентификатора I, я хотел бы получить 4 в качестве результата.И за id = 3
я бы тоже хотел получить 3.И поскольку максимальное значение равно 1 последовательно, оно встречается в двух разных последовательных местах, и первое имеет длину 2, а второе - 3.