Bonjour, j'essaye de faire une requete mysql sous php mais je bloque.
j'ai 4 champs (x,y,z,t) où x designe un nombre entier, je cherche à retourner tous les enregistrements avec (y,z,t) unique et x le plus grand possible. Quelqu'un peut-il m'aider ?
Publicité
Posté le 24-07-2008 à 22:48:05
Maxaks
Posté le 25-07-2008 à 00:22:15
SELECT DISTINCT CONCAT(y,z,t) as triplet, MAX(x) FROM `quad` GROUP BY triplet
Ca devrait marcher je pense.
majong
Posté le 25-07-2008 à 07:40:58
Oui ça marche, je savais pas qu'on pouvait mélanger distinct et max.
Merci, merci.
MagicBuzz
Posté le 25-07-2008 à 11:13:52
je vois pas trop l'intérêt, à moins que ce ne soit encore une spécificité de mysql.
le group by fait déjà un distinct
je vois pas trop l'intérêt, à moins que ce ne soit encore une spécificité de mysql.
le group by fait déjà un distinct
Bah je savais pas que Group By faisait aussi Distinct :<
MagicBuzz
Posté le 25-07-2008 à 18:54:00
sisi, le group by fait un distinct (et c'est défini dans la norme SQL).
et c'est pour cette raison qu'il fait généralement un tri (effet de bord non spécifié dans la norme SQL), puisque c'est plus pratique de repérer les doublons quand c'est trié.
sql server par exemple ne fait pas le tri.
mais il fait bien le distinct tel que préconisé dans la norme.