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 é o número de doadores únicos que contribuíram para programas de sustentabilidade ambiental no último ano, divididos por faixa etária?
 ###Tabelas: 
CREATE TABLE Donors (DonorID INT, DonorName TEXT, Age INT); CREATE TABLE Donations (DonationID INT, DonorID INT, ProgramID INT, Amount DECIMAL(10,2), DonationDate DATE); CREATE TABLE Programs (ProgramID INT, ProgramName TEXT, FocusArea TEXT);
SELECT CASE WHEN d.Age < 30 THEN 'Under 30' WHEN d.Age BETWEEN 30 AND 50 THEN '30-50' WHEN d.Age > 50 THEN '50 and Over' END AS AgeRange, COUNT(DISTINCT d.DonorID) FROM Donors d INNER JOIN Donations don ON d.DonorID = don.DonorID INNER JOIN Programs p ON don.ProgramID = p.ProgramID WHERE p.FocusArea = 'Environmental Sustainability' AND don.DonationDate >= DATEADD(year, -1, GETDATE()) GROUP BY CASE WHEN d.Age < 30 THEN 'Under 30' WHEN d.Age BETWEEN 30 AND 50 THEN '30-50' WHEN d.Age > 50 THEN '50 and Over' END;