Le SQL ci-dessous devrait faire l'affaire et être facile à lire et à comprendre :
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;
Pour plus de précisions, n'hésitez pas à me demander.
Ted.