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: Qual é a doação média para cada causa pelos 3 principais doadores?
 ###Tabelas: 
CREATE TABLE cause_donations (donor_id INT, donation_amount DECIMAL(10, 2), cause_id INT); INSERT INTO cause_donations (donor_id, donation_amount, cause_id) VALUES (1, 5000.00, 1), (2, 7500.00, 1), (3, 12000.00, 1), (4, 3000.00, 2), (5, 1500.00, 2), (6, 2000.00, 2);
SELECT cause_id, AVG(donation_amount) AS avg_donation FROM (SELECT cause_id, donation_amount, ROW_NUMBER() OVER (PARTITION BY cause_id ORDER BY donation_amount DESC) AS donor_rank FROM cause_donations) donor_averages WHERE donor_rank <= 3 GROUP BY cause_id;