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: Listar os 5 principais voluntários por horas totais prestadas em 2023, para cada mês separadamente?
 ###Tabelas: 
CREATE TABLE volunteers (id INT, name VARCHAR(50), hours_served INT, volunteer_date DATE); INSERT INTO volunteers (id, name, hours_served, volunteer_date) VALUES (1, 'Alice', 10, '2023-01-05'); INSERT INTO volunteers (id, name, hours_served, volunteer_date) VALUES (2, 'Bob', 15, '2023-01-07');
SELECT EXTRACT(MONTH FROM volunteer_date) as month, name, SUM(hours_served) as total_hours FROM volunteers WHERE volunteer_date BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY month, name ORDER BY month, total_hours DESC;