MagicBuzz | OUPS93 a écrit :
dans mon cas, ça donnerait:
SELECT societe, nom_collab, date as D, texte
from ma_table
GROUP BY société
HAVING max(D)
ou bien une inversion entre le Group By et HAVING
après la question se pose pour savoir si:
HAVING MAX(...)
ça marche...
je vais tester demain, merci pour l'aide.
D'ailleur si il y a une autre solution, n'hésitez pas
|
Le HAVING est bel et bien après le GROUP BY.
Sinon, non, ta requête sera plutôt :
SELECT societe, nom_collab, date as D, texte from ma_table GROUP BY societe
HAVING max(date) = D
En effet, le HAVING marche comme une clause WHERE, il lui faut donc une condition, pas simplement une constante
En fait, comme l'a dit mrBebert, la requête :
SELECT societe, nom_collab, date as D, texte from ma_table GROUP BY societe
Va être effectuée, puis seuls les lignes ayant D = max(date) groupé par societe seront renvoyées. En fait, c'est un filtre de dernière minute qui se fait dans le jeu de résultat, et non dans les données elles-mêmes, d'où la baisse de perfs. |