le premier triplet d'un quadruplet

le premier triplet d'un quadruplet - SQL/NoSQL - Programmation

Marsh Posté le 24-07-2008 à 22:48:05    

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 ?

Reply

Marsh Posté le 24-07-2008 à 22:48:05   

Reply

Marsh 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.

Reply

Marsh Posté le 25-07-2008 à 07:40:58    

Oui ça marche, je savais pas qu'on pouvait mélanger distinct et max.
Merci, merci.

Reply

Marsh 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

Reply

Marsh Posté le 25-07-2008 à 15:35:24    

MagicBuzz a écrit :

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 :<

Reply

Marsh 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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed