finalement, Oracle c'est pas si mal avec leur "oubli" de mettre une fonction "simple" pour limiter le nombre de résultats.
pensez aux gens qui vont fait la maintenance derrière vous bordel !
je veux bien qu'il est 8h et que j'ai la tête dans le cul, mais là, jeca, faut pas pousser :
-> entre les champs de la clause group by qui ne figurent pas dans la liste des champs sélectionnés (heureusement ça plante sur la plupart des SGBD) et le limit des familles pour éviter un max qui aurait le mérite d'être lisible... là c'est carton rouge direct.
t'as RIEN économisé niveau performances, c'est une ânerie que de le croire. niveau syntaxe, t'as économisé l'écriture d'une vingtaine de caractères, et par contre, pour le gars qui va repasser derrière toi sur un gros projet, ça tu vas gagner un bon lot d'insultes, et lui de migraines. sans parler du client qui va gagner un bon lot de bugs le temps que tout soit réécrit derrière toi, faute d'être maintenable.
bref, arrêtez d'écrire un code pareil, et d'ensuite le conseiller aux autres.
LIMIT, ça sert pas à faire des MAX
GROUP BY ne doit contenir que des éléments retrouvés dans le SELECT
Bon, ceci dit, ta requête marche effetivement très bien
(MagicBuzz de mauvais poil parcequ'il vient de se renverser son bol de café sur le calbut)
Message édité par MagicBuzz le 02-03-2007 à 08:10:54