ben t'as des fonctions selon les sgbd (mysql en a il me semble) qui permet par exemple d'établir un rang de lignes selon un critère de regroupement et un critère de tri.
genre group by client order by date. et ça va par exemple, pour la fonction rank() te donner un compteur de ligne 1, 2, 3 etc.
du coup t'as juste à coller un having rank() <= 2 et zou.
sinon, t'as toujours la solution des sous-requêtes comme je dis.
dans les deux cas, ça reste assez sioux à écrire