--先用一个case when给是否逾期打上标记,逾期记为1,非逾期记为0
with customer_info as (
    select agreement_id,
           loan_tb.customer_id,
           loan_amount,
           pay_amount,
           overdue_days,
           pay_ability,
           case when overdue_days <>'null' then 1
                when overdue_days ='null' then 0
                else 0
                end as 是否逾期
    from loan_tb
    left join customer_tb
    on loan_tb.customer_id = customer_tb.customer_id
)
--用等级聚合,逾期率=逾期数加起来/总用户数
select pay_ability,
       CONCAT(ROUND(SUM(是否逾期) / COUNT(customer_id) * 100, 1), '%') AS overdue_ratio
       from customer_info
       group by pay_ability
       order by overdue_ratio desc