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 é o valor médio da doação para cada doador nos últimos 6 meses, e qual doador tem o maior valor médio de doação neste período?
 ###Tabelas: 
CREATE TABLE Donors (DonorID INT, DonorName VARCHAR(255)); CREATE TABLE Donations (DonationID INT, DonorID INT, DonationAmount DECIMAL(10, 2), DonationDate DATE);
SELECT DonorID, DonorName, AVG(DonationAmount) AS AvgDonation, RANK() OVER (ORDER BY AVG(DonationAmount) DESC) AS DonorRank FROM Donors JOIN Donations ON Donors.DonorID = Donations.DonorID WHERE DonationDate >= DATEADD(MONTH, -6, CURRENT_DATE) GROUP BY DonorID, DonorName;