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 as 3 cidades com o maior número de edifícios certificados como verdes nos EUA.
 ###Tabelas: 
CREATE TABLE green_buildings (building_id INT, city VARCHAR(50), state VARCHAR(20), green_certified BOOLEAN); INSERT INTO green_buildings (building_id, city, state, green_certified) VALUES (1, 'San Francisco', 'CA', TRUE), (2, 'Los Angeles', 'CA', TRUE), (3, 'New York', 'NY', TRUE), (4, 'Seattle', 'WA', FALSE), (5, 'Austin', 'TX', TRUE);
SELECT city, state, COUNT(*) AS num_green_buildings, RANK() OVER (PARTITION BY state ORDER BY COUNT(*) DESC) AS rank FROM green_buildings WHERE green_certified = TRUE GROUP BY city, state HAVING rank <= 3;