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 é a média móvel de três anos dos projetos de infraestrutura rural na Nigéria, dividida por região?
 ###Tabelas: 
CREATE TABLE rural_projects (region TEXT, year INT, num_projects INT); INSERT INTO rural_projects (region, year, num_projects) VALUES ('North', 2017, 10), ('North', 2018, 15), ('North', 2019, 12), ('North', 2020, 18), ('North', 2021, 21), ('South', 2017, 15), ('South', 2018, 18), ('South', 2019, 16), ('South', 2020, 20), ('South', 2021, 23), ('East', 2017, 12), ('East', 2018, 14), ('East', 2019, 17), ('East', 2020, 22), ('East', 2021, 25), ('West', 2017, 18), ('West', 2018, 20), ('West', 2019, 23), ('West', 2020, 24), ('West', 2021, 27);
SELECT region, year, AVG(num_projects) OVER (PARTITION BY region ORDER BY year ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS rolling_average FROM rural_projects WHERE region IN ('North', 'South', 'East', 'West');