Peut-être cette question SO : "limiter le nombre de lignes à joindre dans mysql" ou plus précisément son pointeur vers Comment sélectionner la première/moins/max ligne par groupe en SQL pourrait aider.
Je pense que tout se résume à des sous-requêtes.