题解 | #分析客户逾期情况#

分析客户逾期情况

https://www.nowcoder.com/practice/22633632da344e2492973ecf555e10c9

-- 使用 WITH 子句创建一个临时表,计算每个客户的逾期天数和总贷款次数
WITH customer_loan_stats AS (
    SELECT
        c.pay_ability,  -- 客户的支付能力
        COUNT(1) AS total_loans,  -- 每个客户的总贷款次数
        SUM(CASE WHEN l.overdue_days > 0 THEN 1 ELSE 0 END) AS overdue_loans  -- 每个客户的逾期贷款次数
    FROM
        loan_tb l
    LEFT JOIN
        customer_tb c ON l.customer_id = c.customer_id  -- 左连接客户表
    GROUP BY
        c.pay_ability  -- 按支付能力分组
)

-- 从临时表中选择数据,计算逾期比例并按逾期比例降序排列
SELECT
    pay_ability,  -- 支付能力
    CONCAT(ROUND((overdue_loans / total_loans) * 100, 1), '%') AS overdue_ratio  -- 逾期比例
FROM
    customer_loan_stats
ORDER BY
    overdue_ratio DESC;  -- 按逾期比例降序排列

全部评论

相关推荐

JamesGosling1:同一个公司的实习为什么写三次,就算是不同的小组的话,直接写一段要好点吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务