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

分析客户逾期情况

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

WITH T1 AS (

SELECT C.customer_id, C.pay_ability, L.overdue_days FROM customer_tb C
LEFT OUTER JOIN loan_tb L
ON C.customer_id=L.customer_id
)

SELECT pay_ability,
CONCAT(ROUND((COUNT(overdue_days)/COUNT(1))*100, 1), '%') AS overdue_ratio 
FROM T1
GROUP BY pay_ability
ORDER BY OVERDUE_RATIO DESC
;

左外连接可以将null也连接到左表中,先把底表联完存在临时表T1里

count(某列)是不会计算null值的,count(1)则不管是否null都会计入,所以两者相除,group by 等级ABC就可以得到要求的ratio

输出数字的格式 A/B默认是小数,0.66666这样,先*100,再用round留一位小数点,最后用concat加上%,就可以了

全部评论

相关推荐

程序员小白条:学历GG,这个排版布局,还有行间距和字缩进不大行,女生自我要求应该更高才是,没内容,起码美观这块要做好
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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