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: Encontre os 5 melhores heróis 'Dota 2' com a maior taxa de vitória na classificação 'Ancient' nos últimos 6 meses.
 ###Tabelas: 
CREATE TABLE matches (id INT, game VARCHAR(10), hero VARCHAR(50), rank VARCHAR(20), match_result VARCHAR(10), match_date DATE); INSERT INTO matches (id, game, hero, rank, match_result, match_date) VALUES (1, 'Dota 2', 'Anti-Mage', 'Ancient', 'Win', '2022-06-15');
SELECT hero, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM matches WHERE game = 'Dota 2' AND rank = 'Ancient' AND match_date >= DATEADD(month, -6, GETDATE())) AS win_rate FROM matches WHERE game = 'Dota 2' AND rank = 'Ancient' AND match_result = 'Win' GROUP BY hero ORDER BY win_rate DESC, hero DESC LIMIT 5;