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: Quantos doadores únicos existem para cada causa, ordenados pelo número de doadores em ordem decrescente?
 ###Tabelas: 
CREATE TABLE donors (id INT, name TEXT, country TEXT); INSERT INTO donors (id, name, country) VALUES (1, 'Donor1', 'USA'), (2, 'Donor2', 'Canada'), (3, 'Donor3', 'USA'), (4, 'Donor4', 'Mexico'), (5, 'Donor5', 'Canada'); CREATE TABLE donations (id INT, donor_id INT, cause TEXT, amount FLOAT); INSERT INTO donations (id, donor_id, cause, amount) VALUES (1, 1, 'Education', 1000.00), (2, 1, 'Health', 2000.00), (3, 2, 'Education', 1500.00), (4, 2, 'Environment', 2500.00), (5, 3, 'Education', 500.00), (6, 4, 'Health', 3000.00), (7, 5, 'Education', 2000.00), (8, 5, 'Environment', 1000.00);
SELECT d.cause, COUNT(DISTINCT don.id) as num_donors FROM donations d JOIN donors don ON d.donor_id = don.id GROUP BY d.cause ORDER BY num_donors DESC;