LeetCode 1587. 银行账户概要 II
表: Users
±-------------±--------+
| Column Name | Type |
±-------------±--------+
| account | int |
| name | varchar |
±-------------±--------+
account 是该表的主键.
表中的每一行包含银行里中每一个用户的账号.
表: Transactions
±--------------±--------+
| Column Name | Type |
±--------------±--------+
| trans_id | int |
| account | int |
| amount | int |
| transacted_on | date |
±--------------±--------+
trans_id 是该表主键.
该表的每一行包含了所有账户的交易改变情况.
如果用户收到了钱, 那么金额是正的; 如果用户转了钱, 那么金额是负的.
所有账户的起始余额为 0.
写一个 SQL, 报告余额高于 10000 的所有用户的名字和余额. 账户的余额等于包含该账户的所有交易的总和.
返回结果表单没有顺序要求.
查询结果格式如下例所示.
Users table:
±-----------±-------------+
| account | name |
±-----------±-------------+
| 900001 | Alice |
| 900002 | Bob |
| 900003 | Charlie |
±-----------±-------------+
Transactions table:
±-----------±-----------±-----------±--------------+
| trans_id | account | amount | transacted_on |
±-----------±-----------±-----------±--------------+
| 1 | 900001 | 7000 | 2020-08-01 |
| 2 | 900001 | 7000 | 2020-09-01 |
| 3 | 900001 | -3000 | 2020-09-02 |
| 4 | 900002 | 1000 | 2020-09-12 |
| 5 | 900003 | 6000 | 2020-08-07 |
| 6 | 900003 | 6000 | 2020-09-07 |
| 7 | 900003 | -4000 | 2020-09-11 |
±-----------±-----------±-----------±--------------+
Result table:
±-----------±-----------+
| name | balance |
±-----------±-----------+
| Alice | 11000 |
±-----------±-----------+
Alice 的余额为(7000 + 7000 - 3000) = 11000.
Bob 的余额为1000.
Charlie 的余额为(6000 + 6000 - 4000) = 8000.
SELECT u.name NAME, sum(t.amount) BALANCE
FROM Transactions t, Users u
WHERE t.account = u.account
GROUP BY t.account
HAVING balance > 10000;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-01-28 JAVA JRE JDK