У меня проблема при использовании Order By и Group By в строке запроса.Заказывать перед группой в подзапросе, работающем в mysql 5.5, но не в mysql 5.7
Существует таблица карьеры, которая содержит данные, как показано ниже:
id se_id enrollment_start ------------------------- 1 1 2005-07-01 2 2 2008-10-12 3 2 2006-05-09 4 1 2016-11-10 5 3 2015-02-04 6 3 2010-08-11
Я хочу, чтобы получить se_id, который имеет самый высокий enrollment_start.
Это заявление sql, которое я использовал. Он работает в MySQL 5.5, но не в MySQL 5.7:
SELECT tmp.* FROM (SELECT * FROM careers ORDER BY enrollment_start DESC) tmp GROUP BY tmp.se_id
Это групповая максимальная проблема, и есть много вопросов, охватывают об этом. Но я не хочу ответа на эту проблему, я хочу знать, почему приведенный выше оператор woking в mysql 5.5, но он не работает в mysql 5.7 и есть ли какой-нибудь способ его исправить? Спасибо.
, если работа в 5.5 была чистая удача. это не должно работать. –
Я так не думаю, что я много раз проверял, он всегда работает как шарм, хотя я знаю, что subquerey возвращает неупорядоченный результат –
см. Страницу руководства https://dev.mysql.com/doc/refman/5.7/en /group-by-handling.html – Drew