Esto es lo que necesitas?.
Código (sql) [Seleccionar]
SELECT DISTINCT(A.Provincia), B.Maestro, B.Medico, B.Total FROM Tabla1 AS A
LEFT JOIN (
SELECT Provincia,
COUNT(CASE WHEN Funcion='Maestro' THEN 1 ELSE NULL END) AS Maestro,
COUNT(CASE WHEN Funcion='Medico' THEN 1 ELSE NULL END) AS Medico,
COUNT(*) AS Total
FROM Tabla1 GROUP BY Provincia
) AS B ON A.Provincia=B.Provincia