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: Classificar jogadores por sua média de rebatidas, mostrando os 3 melhores jogadores.
 ###Tabelas: 
CREATE TABLE players (player_id INT, player_name VARCHAR(100), position VARCHAR(50), team VARCHAR(50), games_played INT, at_bats INT, hits INT, home_runs INT, rbi INT); INSERT INTO players (player_id, player_name, position, team, games_played, at_bats, hits, home_runs, rbi) VALUES (1, 'John Doe', 'Outfield', 'Red Sox', 120, 450, 120, 25, 75); INSERT INTO players (player_id, player_name, position, team, games_played, at_bats, hits, home_runs, rbi) VALUES (2, 'Jane Smith', 'Infield', 'Yankees', 130, 500, 145, 30, 80);
SELECT player_name, AVG(hits/at_bats) as batting_average, ROW_NUMBER() OVER (ORDER BY AVG(hits/at_bats) DESC) as rank  FROM players  GROUP BY player_name  ORDER BY rank  LIMIT 3;