Nedanstående SQL bör göra susen och ett sätt som är lätt att läsa och förstå:
select t1.lending_id, max(t1.installment_n) - min(t1.installment_n) as count
from table t1
where t1.status = 'WAITING_PAYMENT'
and t1.installment_n >
(SELECT max(t2.installment_n) FROM table t2 where t2.lending_id = t1.lending_id and t2.status = 'PAID')
group by lending_id;
För ytterligare förtydliganden, tveka inte att fråga mig.
Ted.