Mysql select count

У меня есть таблица users там я храню информация о клиентах и дилерах отличаются они столбцом StatusID 0 это дилер, 1 это клиент в столбце 'dealer_id' id дилера для каждого клиента. Например если в клиенте 'dealer_id' стоить 3 значить этот клиент принадлежит дилеру с id 3, мне нужно посчитать количество клиентов для каждого дилера

введите сюда описание изображения

SELECT a.id, a.login, a.active, a.LastDate, count(a.id) as 'количество клиентов'
FROM users AS a 
left join `balance` as b on `owner_id`=a.`id`  
left join `operatsion` as c on b.`type`=c.`id`
WHERE a.StatusID = '0' 
GROUP BY a.`login`
ORDER BY LastDate DESC

введите сюда описание изображения

использую COUNT(a.id) почему то количество клиентов для каждого дилера цифры не совпадают

проверяю отдельно дилера с id 3 для подсчёта клиентов делаю count(id) здесь все верно помогите с запросом пожалуйста

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Chupaka

COUNT считает в группе, а группировка у вас сейчас по id:

GROUP BY a.`login`

Для статистики по дилеру группировать надо по соответствующему полю:

GROUP BY a.`dealer_id`

Ну и ненужные JOIN удалить бы :)

→ Ссылка