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: Identificar as 3 principais cidades com a maior pontuação de acessibilidade habitacional na tabela 'affordable_housing', particionadas por região.
 ###Tabelas: 
CREATE TABLE affordable_housing (id INT, city VARCHAR(255), region VARCHAR(255), score INT); INSERT INTO affordable_housing (id, city, region, score) VALUES (1, 'Austin', 'South', 80), (2, 'Denver', 'West', 70), (3, 'Boston', 'East', 60), (4, 'Atlanta', 'South', 85), (5, 'Chicago', 'Midwest', 75);
SELECT city, region, score, RANK() OVER (PARTITION BY region ORDER BY score DESC) as housing_affordability_rank FROM affordable_housing WHERE housing_affordability_rank <= 3;