Ueee... andiamo per ordine
SELECT anno, nome, max(punti) AS points FROM utenti GROUP BY anno
questa FUNZIONA (edit: non dà errore, non fornisce il risultato giusto, lo davo per scontato ma magari è meglio chiarirlo per chi non è abituato a mysql e cuggginivari) su MariaDB 10.x, perchè è un tipo di query che capita spesso, e l'ottimizzatore capisce cosa vuoi fare
Provare, per credere.
(si tratta più precisamente di ONLY_FULL_GROUP_BY)
Attenzione dunque
Tornando alla domanda non è una query annidata (fermo lo spiegone) e sì, suppongo che l'esercizio fosse proprio mirante a quello.
Sei proprio sicuro che sia giusta?
Inoltre sua sia una temporary che un filesort, insomma il peggio del peggio.
Però, di nuovo, è un corso per principianti, dove cioè bisogna imparare da zero, o un corso avanzato, dove ci va la risposta migliore, e non solo una "qualsiasi" risposta che dia il risultato giusto?