Das folgende SQL sollte den Zweck erfüllen und einfach zu lesen und zu verstehen sein:
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 weitere Erläuterungen zögern Sie bitte nicht, mich zu fragen.
Ted.