Пожалуйста, помогите мне объяснить, почему добавление предложения GROUP BY изменяет результаты запроса. Все остальное, оставаясь неизменным, удаление предложения GROUP BY приведет к другому результату, чем добавление предложения GROUP BY.MySQL - GROUP BY меняет результаты
Мне кажется, что GROUP BY просто группирует результаты с помощью поля, а не меняет счет.
мне нужно организовать данные по table2.name, и получить количество для каждого
SELECT table2.name, COUNT(DISTINCT(op.id))
FROM op INNER JOIN table1 ON table1.EID = op.ID
INNER JOIN table3 ON table3.id = table1.jobid
INNER JOIN table2 ON table2.id = table3.CatID
WHERE op.ActiveStartDate <= NOW()
AND op.ActiveEndDate >= NOW()
GROUP BY table2.name
ORDER BY COUNT(*) DESC;
Мы не можем предсказать, что вы видите, пожалуйста, разделите оба результата запроса – Kuzgun
Странность - это запрос работает без GROUP BY (потому что MySql применяет неявный LIMIT 1 для всех скалярных полей, не включенных в предложение GROUP BY) –
Все агрегированные функции (например, 'count') рассчитывается на основе записи для группы, если она определена. В противном случае они основывают свои вычисления на полном наборе результатов. –