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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ MySQL ] - Problème avec GROUP BY - Help !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ MySQL ] - Problème avec GROUP BY - Help !

n°1673939
Pascal_B
Posté le 20-01-2008 à 00:38:51  profilanswer
 

Salut à tous,
 
J'ai une question à 1000 $  :o , je pense malheureusement qu'il n'a pas de "bonne" solution à mon problème... arf
 
Bref, j'essaie quand même :
 
- Deux tables : Users et Sessions
- Un "User" peut avoir plusieurs "Sessions", donc relation 1 état N de Users à Sessions
 
Maintenant je voudrais afficher tous les Users avec uniquement la dernière Session qui a été créée  :fou:  
 
Pour celà il y a le champ Created de type "Datetime" dans Sessions.
 
La requète :
 

Code :
  1. SELECT User.Id AS UserId, User.Active AS UserActive, User.Username AS UserUsername,  [...]
  2. Session.Created AS SessionCreated
  3. FROM site_users AS User
  4. LEFT JOIN site_sessions AS Session ON User.Id = Session.UserId
  5. GROUP BY User.Id
  6. ORDER BY User.Username ASC, User.Name ASC, User.Firstname ASC, Session.Created DESC


 
Ca fonctionne presque, à l'exeption que ça me renvoit la première Session sans prendre en compte le "Session.Created DESC", alors que si j'enlève "GROUP BY User.Id", le triage est correcte (1erè ligne pour l'utilisateur "Z" avec le dernier enregistrement de Session)  :sweat: mais ça me retourne X fois le même utilisateur (ce qui est normal mais je ne veux pas).
 
 
Vos propositions sont les bienvenues !


Message édité par Pascal_B le 20-01-2008 à 16:25:53
mood
Publicité
Posté le 20-01-2008 à 00:38:51  profilanswer
 

n°1674234
MagicBuzz
Posté le 21-01-2008 à 10:43:23  profilanswer
 

1/ Si tu postais la structure de tes tables, ça aiderait bien...
2/ Et si tu demandais exactement ce que tu veux comme résultat
 
Parceque là, ça me semble un peu trop simple...
 

Code :
  1. SELECT User.Id AS UserId, User.Active AS UserActive, User.Username AS UserUsername,  [...]
  2. max(Session.Created) AS SessionCreated
  3. FROM site_users AS User
  4. LEFT JOIN site_sessions AS Session ON User.Id = Session.UserId
  5. GROUP BY User.Id
  6. ORDER BY User.Username ASC, User.Name ASC, User.Firstname ASC


 
PM pour l'ordre du chèque :sol:

n°1674321
Pascal_B
Posté le 21-01-2008 à 12:25:39  profilanswer
 

Oh mec ! Ca fonctionne, merci beaucoup.
 
Pour le chèque... euh  :whistle: [:jauker]  
 
 

Spoiler :

:lol: Merci encore


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

  [ MySQL ] - Problème avec GROUP BY - Help !

 

Sujets relatifs
Problème de miniaturisation avec frontpage[RESOLU] Problème de lecture MP3 sur page html
passer des guillemets dans une txtbox me pose problèmeOracle: Probleme création de table
Problème FirefoxPHP/MYSQL : Connexion chez l'hebergeur STRATO
probleme de fgetcProblème de boucle...?
Problème insertion de video youtube sur image.probléme de comptabilité sous internet explorer 7
Plus de sujets relatifs à : [ MySQL ] - Problème avec GROUP BY - Help !


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