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: Determine a mudança anual no preço médio de imóveis na área da Baía, particionada por tipo de propriedade e ordenada por preço em ordem decrescente.
 ###Tabelas: 
CREATE TABLE bay_area_properties_yearly (property_id INT, year INT, price DECIMAL(10,2), size INT, co_ownership BOOLEAN, property_type VARCHAR(20)); INSERT INTO bay_area_properties_yearly (property_id, year, price, size, co_ownership, property_type) VALUES (1, 2020, 1000000, 2000, TRUE, 'Condo'), (2, 2021, 1200000, 3000, TRUE, 'House'), (3, 2020, 800000, 1500, FALSE, 'Condo'), (4, 2021, 1300000, 2500, FALSE, 'House'), (5, 2020, 1100000, 2000, TRUE, 'House');
SELECT property_type, EXTRACT(YEAR FROM date_trunc('year', time)) AS year, AVG(price) AS avg_price, LAG(AVG(price)) OVER (PARTITION BY property_type ORDER BY EXTRACT(YEAR FROM date_trunc('year', time))) - AVG(price) AS annual_change, ROW_NUMBER() OVER (PARTITION BY property_type ORDER BY EXTRACT(YEAR FROM date_trunc('year', time)) DESC) AS rank FROM bay_area_properties_yearly GROUP BY property_type, year ORDER BY property_type, rank;