2990. 贷款类型

表: 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 排序。

一     一个很好的五子句题目。

select

    user_id

from Loans

where loan_type in ('Refinance','Mortgage')

group by user_id

having count(distinct loan_type) = 2

order by user_id;

首先我们先按照  user_id 分组,然后找到 loan_type 为('Refinance','Mortgage') 这两个字段之一的 user_id 。因为只能有这两个字段,所有分组的后的数量只能为 2 ,最后按照  user_id 字段排序。

以上就是全部答案,如果对你有帮助请点个赞,谢谢。

来源:力扣(leecode

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 转载请注明出处:

https://blog.csdn.net/CYJ1844/article/details/143000519icon-default.png?t=O83Ahttps://blog.csdn.net/CYJ1844/article/details/143000519?

我会尽快把力扣上的所有数据库题目发出来。感兴趣的可以点个赞与关注。每天不定时跟新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值