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 as 3 principais cepas com o maior preço médio de varejo em dispensários da Califórnia durante o primeiro trimestre de 2022.
 ###Tabelas: 
CREATE TABLE strains (id INT, name TEXT, type TEXT); INSERT INTO strains (id, name, type) VALUES (4, 'Banana Kush', 'Indica'), (5, 'Sour Diesel', 'Sativa'), (6, 'Granddaddy Purple', 'Hybrid'); CREATE TABLE sales (id INT, strain_id INT, retail_price DECIMAL, sale_date DATE, state TEXT); INSERT INTO sales (id, strain_id, retail_price, sale_date, state) VALUES (23, 4, 30.00, '2022-01-01', 'California'), (24, 5, 35.00, '2022-02-15', 'California'), (25, 6, 40.00, '2022-03-31', 'California');
SELECT name, AVG(retail_price) FROM (SELECT name, retail_price, ROW_NUMBER() OVER (PARTITION BY name ORDER BY retail_price DESC) rn FROM sales WHERE state = 'California' AND sale_date >= '2022-01-01' AND sale_date < '2022-04-01') tmp WHERE rn <= 3 GROUP BY name ORDER BY AVG(retail_price) DESC;