Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Para cada tipo de transação, encontre o usuário com o valor de transação máximo e retorne o ID do usuário e a data da transação.
 ###Tabelas: 
CREATE TABLE transactions (id INT, user_id INT, type VARCHAR(20), amount DECIMAL(10, 2), transaction_date DATE); INSERT INTO transactions (id, user_id, type, amount, transaction_date) VALUES (1, 1, 'credit', 100.00, '2022-01-01'), (2, 1, 'debit', 50.00, '2022-01-05'), (3, 2, 'credit', 200.00, '2022-01-03'), (4, 2, 'debit', 150.00, '2022-01-31'), (5, 3, 'credit', 300.00, '2022-02-01');
SELECT type, user_id, transaction_date FROM (SELECT type, user_id, amount, transaction_date, ROW_NUMBER() OVER (PARTITION BY type ORDER BY amount DESC) as rn FROM transactions) t WHERE rn = 1;