--存在同一用户有多次逾期行为所以不能直接count overdue_days
--存在该用户没有贷款记录的情况
SELECT
c.pay_ability,
CONCAT(ROUND(100.0 * COUNT(DISTINCT
CASE WHEN l.overdue_days IS NOT NULL THEN l.customer_id
END) / COUNT(DISTINCT c.customer_id), 1),'%') AS overdue_ratio
FROM customer_tb c
LEFT JOIN loan_tb l ON c.customer_id = l.customer_id
GROUP BY c.pay_ability
ORDER BY overdue_ratio DESC;

京公网安备 11010502036488号