题解 | 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 值。

全部评论

相关推荐

一天代码十万三:这个学历有中大厂实习也是0面,没办法,斩杀线是这样的
点赞 评论 收藏
分享
LuvSran:是人我吃。老师就是学校呆久了,就业方面啥都不懂,还自以为是为了我们就业好。我学校就一破双非,计科入行率10%都没有,某老师还天天点名,说是出勤率抬头率前排率高了,华为什么的大厂就会来,我们就是不好好上课才没有厂来招。太搞笑了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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