首页 > 试题广场 >

贷款情况

[编程题]贷款情况
  • 热度指数:6194 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
某金融服务公司希望分析其客户的贷款申请情况,以便更好地了解客户的行为模式和风险管理。具体来说,他们希望了解每个城市的客户贷款申请情况,包括每个城市的贷款申请总金额、平均贷款金额、客户数量以及最常申请的贷款类型。

【原始表】
loan_applications 表:

  • application_id: 贷款申请的唯一 ID,作为主键 (INT)
  • customer_id: 申请贷款的客户 ID (INT)
  • loan_amount: 申请的贷款金额 (DECIMAL)
  • application_date: 申请的日期 (DATE)

customers 表:

  • customer_id: 客户的唯一 ID,作为主键 (INT)
  • customer_name: 客户的姓名 (VARCHAR)
  • city: 客户所在的城市 (VARCHAR)
  • age: 客户的年龄 (INT)

loan_types 表:

  • loan_type_id: 贷款类型的唯一 ID,作为主键 (INT)
  • loan_type_name: 贷款类型的名称 (VARCHAR)

loan_application_types 表:

  • application_id: 与 loan_applications 表中的 application_id 相关联,表示贷款申请的 ID (INT)
  • loan_type_id: 与 loan_types 表中的 loan_type_id 相关联,表示贷款类型的 ID (INT)

【要求】
查询每个城市的客户贷款申请情况,包括每个城市的贷款申请总金额、平均贷款金额、客户数量以及最常申请的贷款类型(如果有多个贷款类型申请数量相同,则选择 loan_type_id 最小的那个),查询结果按照城市名称升序排列。
包含下面的字段:

  • city: 城市名称
  • total_loan_amount: 该城市所有客户的贷款申请总金额,保留小数点后2位。
  • average_loan_amount: 该城市所有客户的平均每个人的贷款申请金额,保留小数点后2位。
  • total_customers: 该城市的客户数量
  • most_applied_loan_type: 该城市最常申请的贷款类型名称
【示例输入】
loan_applications
customers
loan_types
loan_application_types
【示例输出】

示例1

输入

CREATE TABLE loan_applications (
    application_id INT PRIMARY KEY,
    customer_id INT,
    loan_amount DECIMAL(10, 2),
    application_date DATE
);

CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50),
    city VARCHAR(50),
    age INT
);

CREATE TABLE loan_types (
    loan_type_id INT PRIMARY KEY,
    loan_type_name VARCHAR(50)
);

CREATE TABLE loan_application_types (
    application_id INT,
    loan_type_id INT,
    PRIMARY KEY (application_id, loan_type_id)
);

INSERT INTO loan_applications (application_id, customer_id, loan_amount, application_date) VALUES
(1, 1, 10000.00, '2023-01-01'),
(2, 2, 15000.00, '2023-02-01'),
(3, 3, 20000.00, '2023-03-01'),
(4, 4, 25000.00, '2023-04-01'),
(5, 1, 30000.00, '2023-05-01');

INSERT INTO customers (customer_id, customer_name, city, age) VALUES
(1, 'Alice', 'New York', 30),
(2, 'Bob', 'Los Angeles', 25),
(3, 'Charlie', 'New York', 35),
(4, 'David', 'Chicago', 28);

INSERT INTO loan_types (loan_type_id, loan_type_name) VALUES
(1, 'Personal Loan'),
(2, 'Home Loan'),
(3, 'Auto Loan');

INSERT INTO loan_application_types (application_id, loan_type_id) VALUES
(1, 1),
(2, 2),
(3, 1),
(4, 3),
(5, 2);

输出

city|total_loan_amount|average_loan_amount|total_customers|most_applied_loan_type
Chicago|25000.00|25000.00|1|Auto Loan
Los Angeles|15000.00|15000.00|1|Home Loan
New York|60000.00|30000.00|2|Personal Loan
头像 呼吸丶zero
发表于 2025-07-22 13:05:32
select city ,total_loan_amount ,average_loan_amount ,total_customers ,loan_type_name as most_applied_loan_type from ( select city ,round(sum(l 展开全文
头像 作工份一要需我
发表于 2025-10-05 10:30:52
Select c.city, Sum(la.loan_amount) as total_loan_amount, Round(Sum(la.loan_amount) / Count(DISTINCT la.customer_id),2) as average_loan_amo 展开全文
头像 牛客题解官
发表于 2025-07-31 16:59:53
最近做了蚂蚁的24年春招题,题目如下: 题目分析 本题要求统计每个城市的贷款申请情况,输出每个城市的总贷款金额、平均每位客户的贷款金额、客户总数,以及申请次数最多的贷款类型名称。输出字段包括 city、total_loan_amount、average_loan_amount、total_cus 展开全文
头像 牛客200031181号
发表于 2025-10-07 19:28:03
with t as( select city, c.customer_id, loan_amount, loan_type_name, t.loan_type_id from loan_applications a join customers c on a.customer_id = c.c 展开全文
头像 牛客538639826号
发表于 2025-08-25 13:59:26
With base as ( select a.*,b.city,c.loan_type_name, d.loan_type_id from loan_applications a left join customers b on a.customer_id = b. 展开全文
头像 sprinkler_driver
发表于 2025-07-25 18:24:52
with table1(customer_id,city,loan_amount,loan_type_id,loan_type_name,cnt) as ( select l.customer_id,city,loan_amount,t.loan_type_id,t.loan_type_na 展开全文
头像 牛客768350767号
发表于 2025-08-25 17:39:11
with sub1 as( select b.city as city, round(sum(a.loan_amount),2) as total_loan_amount, round(sum(a.loan_amount)/count(distinct b.customer_ 展开全文
头像 Lateral
发表于 2025-08-12 12:09:13
with table1 as( select c.city, round(sum(a.loan_amount),2) as total_loan_amount, round(sum(a.loan_amount)/count(distinct 展开全文
头像 加油呀加油加油呀
发表于 2025-08-01 11:33:23
select a.city, total_loan_amount, average_loan_amount, total_customers, most_applied_loan_type from ( select 展开全文
头像 舒舒南
发表于 2025-09-02 14:32:10
with max_type as (--统计每个城市每种类型贷款的数量 select city, lat.loan_type_id, loan_type_name, row_num 展开全文