SELECT
pay_ability,
CONCAT(ROUND(SUM(is_overdue)*100.0/COUNT(*), 1), '%') AS overdue_ratio
FROM (
SELECT
c.pay_ability,
MAX(CASE WHEN l.overdue_days > 0 THEN 1 ELSE 0 END) AS is_overdue
FROM customer_tb c
JOIN loan_tb l ON c.customer_id = l.customer_id
GROUP BY c.customer_id
) t
GROUP BY pay_ability
ORDER BY overdue_ratio DESC;
大部分题解考虑的都是 合同占比,而不是 客户占比 。
如果一个客户不止一个合同,答案就会出错。



京公网安备 11010502036488号