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 de doação por participante por estado, ordenado pelo maior valor médio de doação?
 ###Tabelas: 
CREATE TABLE Attendees (ID INT, AttendeeName TEXT, State TEXT); INSERT INTO Attendees (ID, AttendeeName, State) VALUES (1, 'Jane Doe', 'California'), (2, 'John Smith', 'New York'), (3, 'Alice Johnson', 'Texas'); CREATE TABLE Donations (ID INT, AttendeeID INT, DonationAmount DECIMAL(10,2), DonationDate DATE); INSERT INTO Donations (ID, AttendeeID, DonationAmount, DonationDate) VALUES (1, 1, 100.00, '2022-01-01'), (2, 2, 200.00, '2022-02-01'), (3, 3, 150.00, '2022-03-01'), (4, 1, 50.00, '2022-04-01');
SELECT State, AVG(DonationAmount) as AvgDonation, ROW_NUMBER() OVER (ORDER BY AVG(DonationAmount) DESC) as Rank FROM Donations JOIN Attendees ON Donations.AttendeeID = Attendees.ID GROUP BY State ORDER BY Rank;