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: Liste o número total de contratos inteligentes e seus tipos para cada desenvolvedor na indústria blockchain.
 ###Tabelas: 
CREATE TABLE smart_contracts (contract_id INT, contract_name VARCHAR(100), developer_id INT, contract_type VARCHAR(50)); INSERT INTO smart_contracts VALUES (1, 'SC1', 1, 'Solidity'); INSERT INTO smart_contracts VALUES (2, 'SC2', 1, 'Vyper'); INSERT INTO smart_contracts VALUES (3, 'SC3', 2, 'Simplicity');
SELECT developer_id, SUM(CASE WHEN contract_type = 'Solidity' THEN 1 ELSE 0 END) as num_solidity, SUM(CASE WHEN contract_type = 'Vyper' THEN 1 ELSE 0 END) as num_vyper, SUM(CASE WHEN contract_type = 'Simplicity' THEN 1 ELSE 0 END) as num_simplicity FROM smart_contracts GROUP BY developer_id;