У меня есть проблема с большим запросом, но попытался упростить его и нашел подобное странное поведение:MySQL 5.6 Количество InnoDB, группа по, имея и порядок Ответным ошибочный результат
select concat(a.col1,a.col2) as b,
count(a.id) as c
from test as a
group by a.id
having b = "644591"
order by b
Тот же запрос не возвращает результатов на 5.6 InnoDB, но 5.5 MyISAM возвращает одно правильное совпадение.
Если вы удалите «заказ на b», он также корректно вернется на InnoDB.
Таблица:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`col1` varchar(100) NOT NULL DEFAULT '',
`col2` varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB
id|col1 |col2
1| |644591
2|70083531|1226109
Ваша строка должна быть в одинарных кавычках: имеющей Ь = '644591' – Jens
@Jens Вы уверены? – Strawberry
@Strawberry Да – Jens