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: Encontre o número total de contratos inteligentes e aplicativos descentralizados implantados pelos 5 principais mineradores ativos na blockchain ABC.
 ###Tabelas: 
CREATE TABLE ABC_transaction (transaction_hash VARCHAR(255), block_number INT, transaction_index INT, from_address VARCHAR(255), to_address VARCHAR(255), value DECIMAL(18,2), gas_price DECIMAL(18,2), gas_limit INT, timestamp TIMESTAMP, miner VARCHAR(255)); CREATE TABLE ABC_contract (contract_address VARCHAR(255), contract_name VARCHAR(255), creator_address VARCHAR(255), creation_timestamp TIMESTAMP);
SELECT COUNT(DISTINCT t.to_address) AS total_deployed, m.miner AS active_miner FROM ABC_transaction t JOIN (SELECT miner, ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC, miner) AS rn FROM ABC_transaction GROUP BY miner) m ON t.miner = m.miner WHERE rn <= 5 JOIN ABC_contract c ON t.to_address = c.contract_address GROUP BY m.miner;