SQL-每日一题【1587. 银行账户概要 II】

题目

表: Users

SQL-每日一题【1587. 银行账户概要 II】_第1张图片

表: Transactions

SQL-每日一题【1587. 银行账户概要 II】_第2张图片 

编写解决方案,  报告余额高于 10000 的所有用户的名字和余额. 账户的余额等于包含该账户的所有交易的总和。

返回结果表单 无顺序要求 。

查询结果格式如下例所示。

示例 1:

SQL-每日一题【1587. 银行账户概要 II】_第3张图片

SQL-每日一题【1587. 银行账户概要 II】_第4张图片 

 

 

解题思路

1.题目要求我们查询出额高于 10000 的所有用户的名字和余额,我们使用聚合查询来解决。

2.首先我们将 Transactions 表和 Users进行左连接,连接条件为 Transactions.account = Users.account,然后按照 Transactions.account 进行分组,统计出每一组的amount之和作为balance,返回 balance 大于 10000 的姓名。

代码实现

select name, sum(amount) as balance
from Transactions 
left join Users
on Transactions.account = Users.account
group by Transactions.account 
having balance > 10000

测试结果

SQL-每日一题【1587. 银行账户概要 II】_第5张图片

 

你可能感兴趣的:(算法,sql,数据库)