Сводка по банковскому счету с использованием SQL

Сводка по банковскому счету является популярным SQL вопрос в Наука о данных интервью. Он включает в себя создание сводки банковского счета в определенном формате с использованием SQL. Итак, если вы хотите узнать, как создать сводку по банковскому счету, эта статья для вас. В этой статье я расскажу вам, как создать сводку по банковскому счету с помощью SQL.
Сводка по банковскому счету: постановка проблемы
Создайте сводку по банковскому счету, рассмотрев транзакции, указанные в таблице ниже:
+---------------+-------------------+-----------------+-----------------+-------------------+ | AccountNumber | AccountHolderName | TransactionDate | TransactionType | TransactionAmount | +---------------+-------------------+-----------------+-----------------+-------------------+ | 1001 | Ravi Sharma | 2023-07-01 | Deposit | 5000.00 | | 1001 | Ravi Sharma | 2023-07-05 | Withdrawal | 1000.00 | | 1001 | Ravi Sharma | 2023-07-10 | Deposit | 2000.00 | | 1002 | Priya Gupta | 2023-07-02 | Deposit | 3000.00 | | 1002 | Priya Gupta | 2023-07-08 | Withdrawal | 500.00 | | 1003 | Vikram Patel | 2023-07-04 | Deposit | 10000.00 | | 1003 | Vikram Patel | 2023-07-09 | Withdrawal | 2000.00 | +---------------+-------------------+-----------------+-----------------+-------------------+
В приведенной выше таблице:
- AccountNumber представляет собой уникальный идентификатор для каждого банковского счета;
- AccountHolderName представляет имя владельца учетной записи;
- TransactionDate — дата совершения транзакции;
- TransactionType представляет тип транзакции, такой как депозит или снятие средств;
- TransactionAmount представляет сумму, вовлеченную в транзакцию;
Ваша задача — написать запрос, который выводит сводку по банковскому счету в соответствии с общим балансом после рассмотрения истории транзакций для каждой учетной записи.
Создание сводки банковского счета с использованием SQL
Чтобы решить эту проблему, нам нужно написать SQL-запрос, который извлекает необходимую информацию и представляет ее в определенном формате. Сводка по банковскому счету должна включать общий баланс по каждому счету, который представляет собой сумму всех депозитов за вычетом суммы всех снятий.
Во-первых, давайте создадим входную таблицу для нашей базы данных SQL (я использую MySql):
CREATE TABLE BankTransactions ( AccountNumber INT, AccountHolderName VARCHAR(255), TransactionDate DATE, TransactionType VARCHAR(255), TransactionAmount DECIMAL(10, 2) ); INSERT INTO BankTransactions (AccountNumber, AccountHolderName, TransactionDate, TransactionType, TransactionAmount) VALUES (1001, 'Ravi Sharma', '2023-07-01', 'Deposit', 5000), (1001, 'Ravi Sharma', '2023-07-05', 'Withdrawal', 1000), (1001, 'Ravi Sharma', '2023-07-10', 'Deposit', 2000), (1002, 'Priya Gupta', '2023-07-02', 'Deposit', 3000), (1002, 'Priya Gupta', '2023-07-08', 'Withdrawal', 500), (1003, 'Vikram Patel', '2023-07-04', 'Deposit', 10000), (1003, 'Vikram Patel', '2023-07-09', 'Withdrawal', 2000);
А теперь, как создать сводку по банковскому счету с помощью SQL для всех счетов в базе данных:
SELECT AccountNumber, AccountHolderName, SUM(CASE WHEN TransactionType="Deposit" THEN TransactionAmount ELSE -TransactionAmount END) AS TotalBalance FROM BankTransactions GROUP BY AccountNumber, AccountHolderName ORDER BY AccountNumber;
+---------------+-------------------+--------------+ | AccountNumber | AccountHolderName | TotalBalance | +---------------+-------------------+--------------+ | 1001 | Ravi Sharma | 6000.00 | | 1002 | Priya Gupta | 2500.00 | | 1003 | Vikram Patel | 8000.00 | +---------------+-------------------+--------------+ 3 rows in set (0.00 sec)
Приведенный выше сценарий использует оператор SELECT для получения необходимой информации из таблицы «BankTransactions». Он рассчитывает общий баланс для каждой учетной записи, суммируя суммы депозитов и вычитая суммы снятия. Оператор CASE используется для различения транзакций ввода и вывода средств и для соответствующей корректировки сумм транзакций. Затем результаты группируются по номеру учетной записи и имени владельца учетной записи с использованием предложения GROUP BY. Наконец, результаты упорядочиваются по номеру счета с помощью предложения ORDER BY.
Краткое содержание
Вот как вы можете создать сводку для банковских счетов с помощью SQL. Чтобы решить этот вопрос, мы рассчитали общий баланс для каждой учетной записи, суммируя суммы депозитов и вычитая суммы снятия. Надеюсь, вам понравилась эта статья о создании сводки по банковским счетам с помощью SQL. Не стесняйтесь задавать ценные вопросы в разделе комментариев ниже.
Ссылка на источник