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áximo de doação para cada tipo de agência de ajuda, e qual agência teve esse valor?
 ###Tabelas: 
CREATE TABLE Aid_Agencies (id INT, name TEXT, type TEXT, headquarters TEXT); INSERT INTO Aid_Agencies (id, name, type, headquarters) VALUES (4, 'AgencyG', 'Local', 'CityG'); INSERT INTO Aid_Agencies (id, name, type, headquarters) VALUES (5, 'AgencyH', 'International', 'CityH'); INSERT INTO Aid_Agencies (id, name, type, headquarters) VALUES (6, 'AgencyI', 'Local', 'CityI'); CREATE TABLE Donations (id INT, agency_id INT, donation_amount INT); INSERT INTO Donations (id, agency_id, donation_amount) VALUES (4, 4, 28000); INSERT INTO Donations (id, agency_id, donation_amount) VALUES (5, 4, 30000); INSERT INTO Donations (id, agency_id, donation_amount) VALUES (6, 6, 25000);
SELECT agency_id, donation_amount FROM (SELECT agency_id, donation_amount, DENSE_RANK() OVER (PARTITION BY agency_id ORDER BY donation_amount DESC) AS rank FROM Donations) AS donation_ranks WHERE rank = 1;