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 montante total da bolsa de pesquisa concedida aos programas de pós-graduação nas 2 disciplinas com os maiores montantes de bolsa?
 ###Tabelas: 
CREATE TABLE graduate_programs (program_id INT, program_name VARCHAR(50), discipline VARCHAR(50)); INSERT INTO graduate_programs (program_id, program_name, discipline) VALUES (1, 'Physics', 'sciences'), (2, 'Biology', 'sciences'), (3, 'Mathematics', 'sciences'), (4, 'Computer Science', 'engineering'), (5, 'Electrical Engineering', 'engineering'); CREATE TABLE research_grants (grant_id INT, program_id INT, grant_amount DECIMAL(10,2)); INSERT INTO research_grants (grant_id, program_id, grant_amount) VALUES (1, 1, 50000), (2, 1, 75000), (3, 2, 35000), (4, 3, 10000), (5, 3, 15000), (6, 4, 20000), (7, 4, 25000), (8, 5, 30000);
SELECT discipline, SUM(grant_amount) as total_grant_amount FROM (SELECT discipline, grant_amount, ROW_NUMBER() OVER (ORDER BY SUM(grant_amount) DESC) as discipline_rank FROM graduate_programs JOIN research_grants ON graduate_programs.program_id = research_grants.program_id GROUP BY discipline) as top_disciplines WHERE discipline_rank <= 2 GROUP BY discipline;