SELECT 
    t2.pay_ability,
    CONCAT(
        ROUND(COALESCE(t1.overdue_cnt, 0) * 100.0 / t2.total_cnt, 1), 
        '%'
    ) AS overdue_ratio
FROM (
    -- 分母:所有还款能力的总贷款数(或客户数)
    SELECT 
        ct.pay_ability,
        COUNT(*) AS total_cnt
    FROM loan_tb lt
    INNER JOIN customer_tb ct ON lt.customer_id = ct.customer_id
    GROUP BY ct.pay_ability
) t2
LEFT JOIN (
    -- 分子:有逾期的(overdue_days > 0)
    SELECT 
        ct.pay_ability,
        COUNT(*) AS overdue_cnt
    FROM loan_tb lt
    INNER JOIN customer_tb ct ON lt.customer_id = ct.customer_id
    WHERE lt.overdue_days > 0
    GROUP BY ct.pay_ability
) t1 ON t2.pay_ability = t1.pay_ability
ORDER BY 
    COALESCE(t1.overdue_cnt, 0) * 100.0 / t2.total_cnt DESC;