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: Quais são os tipos mais comuns de vulnerabilidades detectadas no último mês, divididos por software e classificados por frequência?
 ###Tabelas: 
CREATE TABLE vulnerabilities (id INT, software VARCHAR(255), type VARCHAR(255), detected_date DATE); INSERT INTO vulnerabilities (id, software, type, detected_date) VALUES (1, 'Software A', 'SQL Injection', '2021-09-01'), (2, 'Software B', 'Cross-Site Scripting', '2021-09-03'), (3, 'Software A', 'Cross-Site Scripting', '2021-09-05');
SELECT software, type, ROW_NUMBER() OVER (PARTITION BY software ORDER BY COUNT(*) DESC) as rank FROM vulnerabilities WHERE detected_date >= DATEADD(month, -1, GETDATE()) GROUP BY software, type;