Die Abfrageausführung darf ignorieren den ORDER BY
im FROM ( SELECT ... )
. Dies ist wahrscheinlich der wahre Grund für den Unterschied, den Sie sehen. (Ich glaube nicht, dass Gordons Antwort relevant ist.)
Das Problem wird hier (vor 4 Jahren) diskutiert:https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; das hat eine Lösung, über eine Einstellung.
Einige andere Lösungen finden Sie hier:http://mysql.rjweb.org/doc.php/groupwise_max ; Sie sind auf Effizienz ausgelegt.
Noch ein mögliches Die Lösung besteht darin, ein falsches LIMIT
hinzuzufügen mit einer großen Zahl in der Unterabfrage.