Alors la seule solution que je vois, c'est de récupérer le résultat des trente derniers enregistrement dans un tableau indexé et d'utiliser les fonction de tri de tableau pour l'afficher dans l'ordre souhaité.
Autre méthode, créer une table temporaire dans laquelle tu stockes les 30 derniers enregistrements et tu fais ensuite des requêtes dans cette table temporaire avec l'ordre de tri que tu veux.