Вам нужна совокупная сумма случаев, когда switch = 0
.
Однако SQL таблицы представляют неупорядоченные наборы. Итак, вам нужен столбец (или несколько столбцов), в котором указан порядок. В вашем примере вы можете использовать номер строки Excel, но ваши данные могут иметь более подходящий столбец.
Следовательно:
select t.*,
sum(case when switch = 0 then 1 else 0 end) over (order by excel_row) as grouping
from t;
Если switch
принимает только два значения, вы можно упростить это до:
select t.*,
sum(1 - switch) over (order by excel_row) as grouping
from t;