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 é a umidade média do solo nas 3 províncias mais secas da China no último mês?
 ###Tabelas: 
CREATE TABLE soil_moisture_data (province VARCHAR(255), soil_moisture INT, date DATE); INSERT INTO soil_moisture_data (province, soil_moisture, date) VALUES ('Shanxi', 10, '2022-06-01'), ('Shaanxi', 15, '2022-06-01'), ('Gansu', 20, '2022-06-01'), ('Henan', 25, '2022-06-01');
SELECT province, AVG(soil_moisture) as avg_soil_moisture FROM (SELECT province, soil_moisture, RANK() OVER (PARTITION BY NULL ORDER BY soil_moisture ASC) as dryness_rank FROM soil_moisture_data WHERE date BETWEEN '2022-05-01' AND '2022-06-01' GROUP BY province) subquery WHERE dryness_rank <= 3 GROUP BY province;