mysql show Número de filas de otra tabla en cada fila

select `personal`.`id` AS `id`,
`personal`.`name` AS `name`,
(select count(visit.id) 
      from visit,personal 
        where visit.user_id=personal.id) as count 
from personal;

Estoy tratando de conseguir todos los usuarios y los recuentos de visitas que hicieron.

el resultado que obtengo es que todos los usuarios, pero la columna de recuento contiene el mismo valor (no específico para esa ID de fila).

Qué estoy haciendo mal aquí ? ¿Cómo decirle a mysql al usuario esta ID de fila?

¿Está compuesto de manera óptima selecta para hacerlo o hay una manera mejor?

Respuestas a la pregunta(4)

Su respuesta a la pregunta