返回介绍

solution / 2900-2999 / 2990.Loan Types / README

发布于 2024-06-17 01:02:58 字数 2053 浏览 0 评论 0 收藏 0

2990. 贷款类型

English Version

题目描述

表: Loans

+-------------+---------+
| Column Name | Type  |
+-------------+---------+
| loan_id   | int   |
| user_id   | int   |
| loan_type   | varchar |
+-------------+---------+
loan_id 是这张表具有唯一值的列。
该表包含 loan_id, user_id,和 loan_type。

编写一个解决方案,找出所有具有同时具有 Refinance 贷款类型和 Mortgage 贷款类型的 user_id(需去重)。

按 _升序 返回结果表中的 _user_id

返回结果表格式如下例所示。

 

示例 1:

输入:
Loans table:
+---------+---------+-----------+
| loan_id | user_id | loan_type |
+---------+---------+-----------+
| 683   | 101   | Mortgage  |
| 218   | 101   | AutoLoan  |
| 802   | 101   | Inschool  |
| 593   | 102   | Mortgage  |
| 138   | 102   | Refinance |
| 294   | 102   | Inschool  |
| 308   | 103   | Refinance |
| 389   | 104   | Mortgage  |
+---------+---------+-----------+
输出
+---------+
| user_id | 
+---------+
| 102   | 
+---------+
解释
- User_id 101 有三种贷款类型,其中之一是 Mortgage。但是,此用户没有任何类别为 Refinance 的贷款类型,因此用户 101 不会被考虑。
- User_id 102 拥有三种贷款类型:一种是 Mortgage,一种是 Refinance。因此,用户 102 将包括在结果中。
- User_id 103 有一种 Refinance 贷款类型,但没有 Mortgage 贷款类型,因此用户 103 不会被考虑。
- User_id 104 有一种 Mortgage 贷款类型,但没有 Refinance 贷款类型,因此用户 104 不会被考虑。
输出表以升序按 user_id 排序。

解法

方法一:分组求和

我们可以对 Loans 表按照 user_id 进行分组,找出既包含 Refinance 又包含 Mortgage 的用户,然后按照 user_id 进行排序。

# Write your MySQL query statement below
SELECT user_id
FROM Loans
GROUP BY 1
HAVING SUM(loan_type = 'Refinance') > 0 AND SUM(loan_type = 'Mortgage') > 0
ORDER BY 1;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文