QueryMySQL COUNT возвращает больше значения, чем когда фактические результаты вытягиваются
SELECT DISTINCT walls.wall_id FROM walls
LEFT JOIN wall_categories ON walls.wall_id = wall_categories.wall_id
LEFT JOIN wall_devices ON walls.wall_id = wall_devices.wall_id
WHERE wall_categories.category_id IN (1,2,3)
AND wall_devices.device_id IN (1,2,3)
AND walls.wall_id>113;
выше запрос возвращает результат ниже:
и если добавить COUNT в том же запросе, как:
SELECT DISTINCT COUNT(walls.wall_id) FROM walls
LEFT JOIN wall_categories ON walls.wall_id = wall_categories.wall_id
LEFT JOIN wall_devices ON walls.wall_id = wall_devices.wall_id
WHERE wall_categories.category_id IN (1,2,3)
AND wall_devices.device_id IN (1,2,3)
AND walls.wall_id>113;
возвращается = 14
где может быть проблема? Что я делаю не так?
Обратите внимание, что '' WHERE' делает ЛЕВЫЙ JOIM wall_categories' как 'ВНУТРЕННЕЙ JOIN' – Strawberry