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: Quem são os 3 principais doadores por valor total de doação para a causa 'clean_water'?
 ###Tabelas: 
CREATE TABLE donor (id INT, name VARCHAR(255)); CREATE TABLE donation (id INT, donor_id INT, cause VARCHAR(255), amount DECIMAL(10, 2)); INSERT INTO donor (id, name) VALUES (1, 'Jane Doe'), (2, 'John Smith'), (3, 'Mary Johnson'), (4, 'Kofi Annan'); INSERT INTO donation (id, donor_id, cause, amount) VALUES (1, 1, 'clean_water', 100), (2, 1, 'climate_change', 300), (3, 2, 'clean_water', 150), (4, 2, 'animal_welfare', 200), (5, 3, 'clean_water', 350), (6, 4, 'climate_change', 250), (7, 1, 'clean_water', 50);
SELECT donor_id, SUM(amount) as total_donation_amount FROM donation WHERE cause = 'clean_water' GROUP BY donor_id ORDER BY total_donation_amount DESC LIMIT 3;