Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
732 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [sql] Requete Max

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[sql] Requete Max

n°1916848
Negro
300zx in the ... depot
Posté le 19-08-2009 à 22:28:38  profilanswer
 

Bonjour,  
Je me bas avec le Max mais il me renvoi le mauvais ID du Max trouvé:
Exemple, ma table:
 


id_recette     nom   date_creation   version
  1           toto      1250701221      1    
  4           toto      1250702040      2    
  7           titi      1250702040      1
  8           titi      1250702040      2
  9           titi      1250702040      3


 
 
Avec: SELECT id_recette , nom , MAX(version) as version  FROM bmd_recettes group by nom
Il me renvoie:
 

id_recette    nom    version
     1         toto       2


   
Alors que ma version 2 possède l'id_recette 4 et non 1.
Je me suis trompé quelque part?
Merci ;)


Message édité par Negro le 19-08-2009 à 23:34:25

---------------
http://www.zeec.de/media-details.jsp?mediaId=49063
mood
Publicité
Posté le 19-08-2009 à 22:28:38  profilanswer
 

n°1916861
Negro
300zx in the ... depot
Posté le 19-08-2009 à 23:23:03  profilanswer
 

oui je cherche a avoir l'id de ma plus grand version pour tous mes nom

 

Je savais pas que le MAX on pouvait le mettre en critère where. merci :)
Je vais regarder ça car la requête que tu m'as donnée renvoie:

 

#1111 - Utilisation invalide de la clause GROUP


Message édité par Negro le 19-08-2009 à 23:28:35

---------------
http://www.zeec.de/media-details.jsp?mediaId=49063
n°1916866
Negro
300zx in the ... depot
Posté le 19-08-2009 à 23:30:18  profilanswer
 

SELECT * FROM bmd_recettes WHERE version=(SELECT MAX(version) FROM bmd_recettes)
 
J'ai testé ceci, ca me renvoi uniquement LA plus grande version, alors que je peux avoir plusieurs nom et de plusieurs versions différentes


---------------
http://www.zeec.de/media-details.jsp?mediaId=49063
n°1916867
antac
..
Posté le 19-08-2009 à 23:31:05  profilanswer
 

Oui en effet, j'ai merdé, c'est pour ça que j'ai retiré ma réponse, ça ne colle pas et c'est totalement honteux en y repensant, je me penche sur ta question

n°1916868
antac
..
Posté le 19-08-2009 à 23:32:00  profilanswer
 

Tu es bien sur MySQL ?

n°1916870
Negro
300zx in the ... depot
Posté le 19-08-2009 à 23:32:26  profilanswer
 

antac a écrit :

Oui en effet, j'ai merdé, c'est pour ça que j'ai retiré ma réponse, ça ne colle pas et c'est totalement honteux en y repensant, je me penche sur ta question


 
c'est pas grave ;)
C'est déjà super gentil d'avoir répondu.
 
J'ai testé de placer un group by nom dans ma dernière requete.... pas moyen...
 
(je mets a jour le 1er post pour mettre plus d'exemple dans la table)


---------------
http://www.zeec.de/media-details.jsp?mediaId=49063
n°1916873
Negro
300zx in the ... depot
Posté le 19-08-2009 à 23:33:19  profilanswer
 

antac a écrit :

Tu es bien sur MySQL ?


 
MySQL 4.1.9-max sur le serveur localhost ;)


---------------
http://www.zeec.de/media-details.jsp?mediaId=49063
n°1916874
Negro
300zx in the ... depot
Posté le 19-08-2009 à 23:35:24  profilanswer
 


id_recette     nom   date_creation   version
  1           toto      1250701221      1    
  4           toto      1250702040      2    
  7           titi      1250702040      1
  8           titi      1250702040      2
  9           titi      1250702040      3


 
en gros je veux avoir mes dernières versions de mes noms:
 
4-toto-version 2
9-titi - version 3


---------------
http://www.zeec.de/media-details.jsp?mediaId=49063
n°1916887
antac
..
Posté le 19-08-2009 à 23:58:27  profilanswer
 

tu as la possibilité de mettre à jour MySQL ?

n°1916888
antac
..
Posté le 19-08-2009 à 23:59:27  profilanswer
 

le truc que je ferai, c'est une fonction SQL qui te détermine le max à partir des paramètres du nom et que tu renvoi.

mood
Publicité
Posté le 19-08-2009 à 23:59:27  profilanswer
 

n°1916944
antac
..
Posté le 20-08-2009 à 10:06:11  profilanswer
 

En gros un  
 
Select id_recette,nom,date_creation,version,ismax(id_recette)
From bmd_recettes
Where ismax(id_recette)=true

n°1917745
Negro
300zx in the ... depot
Posté le 24-08-2009 à 09:43:45  profilanswer
 

merci je vais testé ca ;)
comme mon client était pressé, j'avais trouvé l'astuce de faire une 2eme requête pour trouver l'id en fonction du nom et max(version) retourné par ma 1ere requete


---------------
http://www.zeec.de/media-details.jsp?mediaId=49063

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [sql] Requete Max

 

Sujets relatifs
requete redondante[SQL] Requete MAX
[Mysql] Demande de requete MAX()...[Résolu]Afficher résultat requête MAX
[SQL] Pb avec requete SQL MAXRequête MAX sur MySQL
[SQL] aide pour une requete contenant MIN,MAX et COUNT[SQL Server] aide pour faire une requète avec un MAX()
[PHP][MySQL] MySQL retourne une valeur erroné à une requète max(id)[ACCESS] Requête MAJ avec un Max
Plus de sujets relatifs à : [sql] Requete Max


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR