Spuštění dotazu je povoleno ignorovat ORDER BY
v FROM ( SELECT ... )
. To je pravděpodobně skutečný důvod rozdílu, který vidíte. (Nemyslím si, že Gordonova odpověď je relevantní.)
Problém je diskutován zde (před 4 lety):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; který má jedno řešení prostřednictvím nastavení.
Některá další řešení jsou zde:http://mysql.rjweb.org/doc.php/groupwise_max ; jsou navrženy tak, aby byly efektivní.
Ještě další možné řešením je přidat falešný LIMIT
s velkým počtem v dílčím dotazu.