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: Calcular o número de voluntários únicos e o total de horas de voluntariado por trimestre para cada programa?
 ###Tabelas: 
CREATE TABLE Volunteers (VolunteerID int, ProgramID int, VolunteerHours decimal(10, 2), VolunteerDate date); INSERT INTO Volunteers (VolunteerID, ProgramID, VolunteerHours, VolunteerDate) VALUES (1, 1, 5.0, '2021-10-01'), (2, 1, 8.0, '2021-11-01'), (3, 2, 3.0, '2021-12-01'), (4, 3, 7.0, '2022-01-01'); CREATE TABLE Programs (ProgramID int, ProgramName varchar(255)); INSERT INTO Programs (ProgramID, ProgramName) VALUES (1, 'Education'), (2, 'Health'), (3, 'Environment');
SELECT ProgramID, DATE_TRUNC('quarter', VolunteerDate) AS Quarter, COUNT(DISTINCT VolunteerID) AS UniqueVolunteers, SUM(VolunteerHours) AS TotalVolunteerHours FROM Volunteers GROUP BY ProgramID, Quarter;