-- 按 还款能力级别 统计
-- 统计有逾期行为的客户占比  (逾期的人 / 所有人)

SELECT
    c.pay_ability
    ,CONCAT(ROUND(COUNT(l.overdue_days) / COUNT(l.agreement_id) * 100, 1), '%') AS overdue_ratio
FROM 
    loan_tb l
    INNER JOIN customer_tb c ON l.customer_id = c.customer_id
GROUP BY c.pay_ability
ORDER BY overdue_ratio DESC
;

重点:

COUNT(l.agreement_id) 是在 GROUP BY c.pay_ability 分组后的 每个分组内 统计agreement_id 数量,

而不是统计整个表的 agreement_id 数量。COUNT(l.overdue_days)同理。

END