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

WITH t1 AS (
    SELECT pay_ability,
           count(pay_ability) AS level_num
    FROM customer_tb
    GROUP BY pay_ability
),
t2 AS (
    SELECT b.pay_ability,
           COUNT(overdue_days) AS over_num
    FROM loan_tb a
    LEFT JOIN customer_tb b
    ON a.customer_id = b.customer_id
    GROUP BY b.pay_ability
),
t3 AS (
    SELECT t1.pay_ability,
           ROUND(over_num / level_num * 100, 1) AS overdue_ratio
    FROM t1
    LEFT JOIN t2
    ON t1.pay_ability = t2.pay_ability
    ORDER BY overdue_ratio DESC
),
t4 AS (
    SELECT
        pay_ability,
        concat(overdue_ratio,'%') AS overdue_ratio
    FROM t3
)
SELECT * FROM t4;

# 这道题的关键在于 count(字段),自动过滤 null 值。

全部评论

相关推荐

Gaynes:查看图片
点赞 评论 收藏
分享
ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务