mysql show Количество строк из другой таблицы в каждой строке

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;

Я пытаюсь получить всех пользователей и количество посещений, которые они сделали.

результат, который я получаю - это все пользователи, но столбец count содержит одно и то же значение (не относится к этому идентификатору строки).

что я тут не так делаю? как сказать mysql пользователю этот идентификатор строки?

соединение выбрать оптимальный способ сделать это или есть лучший способ?