bueno, esa consulta esta muy sencilla, yo tambien te recomiendo estudiar un poco de sql,
esta consulta te da los resultados tal como los necesitas
Código SQL
[-]
select hospital.nombre, medicos.especialidad,count(especialidad) as numero_especialistas
from hospital
join medicos on medicos.cod_hospital=hospital.cod_hospital
group by hospital.nombre, medicos.especialidad
order by count(especialidad)