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: Exibir o número de serviços públicos, escolas e hospitais em cada cidade, agrupados por região.
 ###Tabelas: 
CREATE TABLE regions (region_id INT, region_name VARCHAR(255)); CREATE TABLE cities (city_id INT, city_name VARCHAR(255), region_id INT); CREATE TABLE public_services (service_id INT, service_name VARCHAR(255), city_id INT); CREATE TABLE schools (school_id INT, school_name VARCHAR(255), city_id INT); CREATE TABLE hospitals (hospital_id INT, hospital_name VARCHAR(255), city_id INT);
SELECT r.region_name, COUNT(DISTINCT c.city_id) as num_cities, COUNT(DISTINCT ps.service_id) as num_services, COUNT(DISTINCT s.school_id) as num_schools, COUNT(DISTINCT h.hospital_id) as num_hospitals FROM regions r JOIN cities c ON r.region_id = c.region_id LEFT JOIN public_services ps ON c.city_id = ps.city_id LEFT JOIN schools s ON c.city_id = s.city_id LEFT JOIN hospitals h ON c.city_id = h.city_id GROUP BY r.region_name;