После обновления mysql запрос стал некорректный, как исправить?
В версии 8.0.2 добавилось зарезервированное слово RANK.
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
Если это слово используется как название таблицы или поля, то его надо взять в обратные кавычки `rank`.
Я бы целиком переписал структуру выборки через JOIN и ключи.

А вообще, где структура таблицы? Какую ошибку на выходе показывает MySql или в чем различие ответов???