Если вы хотите посчитать, произошла ли аутентификация, вам нужно объединение LEFT , чтобы получить все результаты из 1-й таблицы, а не только те, которые появляются в обоих
Если соотношение между таблицами составляет 1 к 1, поэтому каждый агент будет отображаться только один раз, то в левом соединении дублированные резилты не появятся, а повторное сопоставление должно быть таким же, как вы уже достигли
Обратите внимание, что общее количество регистраций будет, конечно, только для зарегистрированных, а не для всех агентов:
SELECT
ad.skill2,
SUM(IF( auth.agentlogin IS NULL, 1,0)) AS TotalRegistration
FROM agentdetails ad
LEFT JOIN authentication auth ON ad.agentlogin = auth.agentlogin
WHERE ad.location = 'PNQ10-Pune'
GROUP BY
ad.skill2
Ваш исходный запрос:
SELECT authentication.agentlogin, agentdetails.skill2, COUNT(authentication.agentlogin) TotalRegistration FROM agentdetails
INNER JOIN authentication ON agentdetails.agentlogin = authentication.agentlogin WHERE agentdetails.location = 'PNQ10-Pune' GROUP BY skill2;
Надеюсь, что поможет