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 5 principais voluntários com o maior número total de horas voluntariadas em 2021, agrupados por suas respectivas organizações sem fins lucrativos.
 ###Tabelas: 
CREATE TABLE volunteers (volunteer_id INT, volunteer_name TEXT, nonprofit_id INT, hours_volunteered INT, volunteer_date DATE); INSERT INTO volunteers (volunteer_id, volunteer_name, nonprofit_id, hours_volunteered, volunteer_date) VALUES (1, 'Alex Johnson', 1, 10, '2021-01-01'); INSERT INTO volunteers (volunteer_id, volunteer_name, nonprofit_id, hours_volunteered, volunteer_date) VALUES (2, 'Bella Brown', 1, 12, '2021-02-15'); INSERT INTO volunteers (volunteer_id, volunteer_name, nonprofit_id, hours_volunteered, volunteer_date) VALUES (3, 'Carl Carter', 2, 8, '2021-03-20');
SELECT volunteer_name, nonprofit_id, SUM(hours_volunteered) as total_hours FROM volunteers WHERE volunteer_date BETWEEN '2021-01-01' AND '2021-12-31' GROUP BY volunteer_name, nonprofit_id ORDER BY total_hours DESC LIMIT 5;