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 top 2 tipos químicos com o maior peso médio, por fabricante, e os nomes correspondentes dos fabricantes.
 ###Tabelas: 
CREATE TABLE manufacturer_chemicals_avg (manufacturer_id INT, manufacturer_name VARCHAR(50), chemical_type VARCHAR(50), weight FLOAT); INSERT INTO manufacturer_chemicals_avg (manufacturer_id, manufacturer_name, chemical_type, weight) VALUES (1, 'AusChem', 'Acid', 150.5), (1, 'AusChem', 'Alkali', 120.6), (1, 'AusChem', 'Solvent', 140.7), (2, 'British Biotech', 'Alkali', 160.8), (2, 'British Biotech', 'Solvent', 180.9), (2, 'British Biotech', 'Solute', 170.5), (3, 'ChemCorp', 'Acid', 130.2), (3, 'ChemCorp', 'Alkali', 190.3), (3, 'ChemCorp', 'Solvent', 160.1);
SELECT manufacturer_id, manufacturer_name, chemical_type, AVG(weight) OVER (PARTITION BY manufacturer_id, chemical_type) as avg_weight, RANK() OVER (PARTITION BY manufacturer_id ORDER BY avg_weight DESC) as manufacturer_chemical_rank FROM manufacturer_chemicals_avg WHERE manufacturer_chemical_rank <= 2;