Как посчитать количество элементов в однотипных группах на PostgreSQL
Есть запрос, который возвращает поля date (первое число очередного месяца), contragent_id, debet - сумма списаний с контрагента за все время на текущий месяц, credit - сумма начислений от контрагента за все время на текущий месяц. Также выводится столбец dolg со значением 1/0: 1 - суммарные начисления от контрагента меньше, чем суммарные списания, 0 - начисления больше или равны. Необходимо посчитать количество непрерывных месяцев подряд, в которых у контрагента столбец dolg возвращает единицу
Пример, как это должно выглядеть (count - высчитанный столбец с нужным мне результатом):
┌─────────────┬───────────────┬───────┬────────┬──────┬───────┐
│ date │ contragent_id │ debet │ credit │ dolg │ count │
├─────────────┼───────────────┼───────┼────────┼──────┼───────┤
│ 01.02.2019 │ 1 │ 100 │ 50 │ 1 │ 1 │
│ 01.03.2019 │ 1 │ 150 │ 50 │ 1 │ 2 │
│ 01.04.2019 │ 1 │ 200 │ 200 │ 0 │ 0 │
│ 01.05.2019 │ 1 │ 250 │ 200 │ 1 │ 1 │
│ 01.06.2019 │ 1 │ 300 │ 270 │ 1 │ 2 │
│ 01.07.2019 │ 1 │ 350 │ 270 │ 1 │ 3 │
│ 01.08.2019 │ 1 │ 400 │ 450 │ 0 │ 0 │
└─────────────┴───────────────┴───────┴────────┴──────┴───────┘