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 foi o valor médio da doação por grupo etário dos doadores em 2019?
 ###Tabelas: 
CREATE TABLE donors (id INT, donor_name TEXT, age INT, donation_date DATE, amount INT); INSERT INTO donors (id, donor_name, age, donation_date, amount) VALUES (1, 'John Doe', 35, '2019-05-20', 200); INSERT INTO donors (id, donor_name, age, donation_date, amount) VALUES (2, 'Jane Smith', 42, '2019-12-31', 500);
SELECT age_groups.group_name as age_group, AVG(donations.amount) as avg_donation FROM donors INNER JOIN (SELECT 0 as age_start, 20 as age_end, '18-30' as group_name UNION ALL SELECT 21, 30, '21-30' UNION ALL SELECT 31, 40, '31-40' UNION ALL SELECT 41, 50, '41-50' UNION ALL SELECT 51, 999, '51+') as age_groups ON donors.age BETWEEN age_groups.age_start AND age_groups.age_end INNER JOIN donations ON donors.id = donations.id WHERE donation_date >= '2019-01-01' AND donation_date < '2020-01-01' GROUP BY age_groups.group_name;