SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE transactions (transaction_id INT PRIMARY KEY ,client_id INT NOT NULL ,action_type VARCHAR(12) NOT NULL ,action_amount INT NOT NULL ); INSERT INTO transactions(transaction_id, client_id,action_type,action_amount) VALUES (1, 1 ,'credit', 1000), (2, 1 ,'debit', 100), (3, 1 ,'credit', 500), (4, 1 ,'debit', 300), (5, 2 ,'debit', 1000), (6, 2 ,'credit', 1200), (7, 3 ,'debit', 1000), (8, 3 ,'credit', 1000), (9, 4 ,'debit', 1000); select transaction_id, client_id, case when action_type='credit' then action_amount else 0 end credit, case when action_type='debit' then action_amount else 0 end debit, sum(case when action_type='credit' then action_amount else -action_amount end) over(partition by client_id order by transaction_id) balance from transactions order by client_id, transaction_id;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear