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: Qual foi o preço médio por grama para cada tipo de canabinoide (THC, CBD, CBG) vendido em dispensários em Michigan no terceiro trimestre de 2022?
 ###Tabelas: 
CREATE TABLE Dispensaries (id INT, name TEXT, state TEXT); CREATE TABLE Sales (dispid INT, date DATE, cannabinoid TEXT, price DECIMAL(10,2)); INSERT INTO Dispensaries (id, name, state) VALUES (1, 'Dispensary A', 'Michigan'); INSERT INTO Dispensaries (id, name, state) VALUES (2, 'Dispensary B', 'Michigan'); INSERT INTO Sales (dispid, date, cannabinoid, price) VALUES (1, '2022-07-01', 'THC', 10.5); INSERT INTO Sales (dispid, date, cannabinoid, price) VALUES (1, '2022-07-02', 'THC', 10.75); INSERT INTO Sales (dispid, date, cannabinoid, price) VALUES (1, '2022-07-01', 'CBD', 8.5);
SELECT s.cannabinoid, AVG(s.price) as avg_price_per_gram, ROW_NUMBER() OVER (ORDER BY AVG(s.price) DESC) as rank FROM Dispensaries d JOIN Sales s ON d.id = s.dispid WHERE d.state = 'Michigan' AND QUARTER(s.date) = 3 GROUP BY s.cannabinoid HAVING COUNT(s.cannabinoid) > 1 ORDER BY rank;