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: Quais são as 3 principais empresas em termos de investimento em IA ética?
 ###Tabelas: 
CREATE TABLE company_investments (id INT, company_name VARCHAR(50), ethical_ai_investment DECIMAL(5,2), investment_date DATE); INSERT INTO company_investments (id, company_name, ethical_ai_investment, investment_date) VALUES (1, 'Company1', 15000.00, '2021-01-15'); INSERT INTO company_investments (id, company_name, ethical_ai_investment, investment_date) VALUES (2, 'Company2', 20000.00, '2021-06-30'); INSERT INTO company_investments (id, company_name, ethical_ai_investment, investment_date) VALUES (3, 'Company3', 10000.00, '2021-04-25');
SELECT company_name, SUM(ethical_ai_investment) OVER (PARTITION BY company_name) AS total_investment, RANK() OVER (ORDER BY SUM(ethical_ai_investment) DESC) AS rank FROM company_investments;