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: Encontre os top 3 estados com o maior valor médio de doação nos últimos 6 meses, excluindo doadores anônimos.
 ###Tabelas: 
CREATE TABLE donations (id INT, donor_name TEXT, donation_amount DECIMAL, donation_date DATE, donation_state TEXT); INSERT INTO donations (id, donor_name, donation_amount, donation_date, donation_state) VALUES (1, 'John Doe', 100.00, '2022-01-01', 'NY'), (2, 'Jane Smith', 200.00, '2022-04-15', 'CA');
SELECT donation_state, AVG(donation_amount) as avg_donation FROM donations WHERE donation_date >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH) AND donor_name != 'Anonymous' GROUP BY donation_state ORDER BY avg_donation DESC LIMIT 3;