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 os 3 principais locais com a pontuação mais alta de consciência ética entre os consumidores, juntamente com a idade média deles.
 ###Tabelas: 
CREATE TABLE consumers (id INT PRIMARY KEY, name VARCHAR(255), age INT, location VARCHAR(255), ethical_awareness INT);
SELECT c.location, AVG(c.age) as avg_age, SUM(c.ethical_awareness) as total_awareness, RANK() OVER (PARTITION BY 1 ORDER BY total_awareness DESC) as rank FROM consumers c GROUP BY c.location HAVING rank <= 3;