Eksekusi kueri diizinkan untuk mengabaikan ORDER BY di FROM ( SELECT ... ) . Ini mungkin alasan sebenarnya untuk perbedaan yang Anda lihat. (Saya rasa jawaban Gordon tidak relevan.)
Masalahnya dibahas di sini (4 tahun yang lalu):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; yang memiliki satu solusi, melalui pengaturan.
Beberapa solusi lain ada di sini:https://mysql.rjweb.org/doc.php/groupwise_max ; mereka dirancang agar efisien.
Masih mungkin solusinya adalah menambahkan LIMIT palsu dengan jumlah yang besar pada subquery.