Это неправильное использование GROUP BY
.Более новые версии будут плевать на вас.
Когда в SELECT
(например, id
) есть неагрегированные столбцы, которых нет в GROUP BY
(который имеет только orderid
),выбранные предметы выбираются несколько случайным образом.
Предлагаем изменить id
на
orderid, MIN(id), MAX(id), COUNT(*), GROUP_CONCAT(id)
IN
- это красная сельдь, а не причина.
Если вам нужновсе столбцы, а не только id
, вы должны сказать это в вопросе.Есть много вопросов и ответов о "grouwise-max".