1587-银行账户概要 Ⅱ

银行账户概要 II

原文地址:1587. 银行账户概要 II - 力扣(LeetCode)

  • 题目如下所示

个人题解

这题很简单,考察的是SUM函数的用法,如以下所示

  • -- 1. 建表
    -- 该表每一行包含银行里每一个用户的账号
    CREATE TABLE 1587_Users(
    account INT,
    name VARCHAR(20),
    PRIMARY KEY(account)
    );
    -- 该表每一行包含了所有账户的交易改变情况
    -- 用户收到钱,金额为正,反之为负,所有账户起始余额为0
    CREATE TABLE 1587_Transactions(
    trans_id INT,
    account INT,
    amount INT,
    transacted_on DATE,
    PRIMARY KEY(trans_id)
    );
    -- 2. 查询余额高于 10000 的所有用户的名字和余额。账户的余额等于包含该账户的搜友交易的总和
    SELECT u.account, SUM(t.amount) FROM 1587_Users u, 1587_Transactions t WHERE u.account = t.account GROUP BY u.account;
    SELECT u.name, SUM(t.amount) balance FROM 1587_Users u, 1587_Transactions t WHERE u.account = t.account GROUP BY u.account HAVING SUM(t.amount) > 10000;
    -- PS: 这里必须对主键进行分组,否则如果对 name 进行分组的话,name 是可以有重名的情况的。主键则表名其是唯一值
posted @   OnlyOnYourself-Lzw  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-07-11 05-Nacos注册中心
2022-07-11 04-Ribbon负载均衡
2022-07-11 03-Eureka注册中心
2022-07-11 02-服务拆分和远程调用
2022-07-11 01-微服务的概念
点击右上角即可分享
微信分享提示