|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||||||
![]() ![]() Seb Développeur Web Inscription : avril 2004 Messages : 1 063 ![]() |
Bonjour,
j'ai une table 'ma_table' qui ressemble à ceci : Code :
je souhaite recuperer le dernier enregistrement (donc selon le champ 'date_heure') par user. A priori rien de compliquer mais ca fait 2 heures que j'arrive à rien. je voudrais donc avoir comme resultat Code :
Code :
Code :
la solution que j'ai trouvée me semble complexe : Code :
De plus, cette requete me retourne plusieurs enregistrements pour un meme id_user si date_heure revient plusieurs fois. Par exemple Code :
Code :
merci de votre aide |
||||||||||||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Ingénieur développement logiciels Inscription : mars 2006 Messages : 291 ![]() |
__________________
Je ne sais qu'une chose, c'est que je ne sais rien. (Socrate) |
|
|
00
|
|
|
#3 | ||||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 446 ![]() |
En partant de ta requête, il faut sélectionner le plus petit ID_TABLE pour chaque couple ID_USER, HEURE, ce qui donne :
Code :
Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
||||
|
|
00
|
|
|
#4 | ||
![]() ![]() Seb Développeur Web Inscription : avril 2004 Messages : 1 063 ![]() |
merci pour ta réponse.
Je n'ai pas tout compris à ta seconde requete, mais je vais m'y pencher des que possible ! pour la premiere Code :
normal car id_table n'est pas dans T2. Et le probleme si je l'ajoute est que ce n'est pas l'id_table correspondant à MAX(date_heure) qui est retourné |
||
|
|
00
|
|
|
#5 | ||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 446 ![]() |
Tu as tout as fait raison, j'ai voulu simplifier et j'ai retiré une partie importante
Voilà la bonne requête : Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 641 ![]() |
Bonjour,
Selon votre SGBD vous pouvez aussi utiliser les fonctions de fenêtrages. Ceci aura l'avantage de ne faire qu'un seul scan de table ... à tester et comparer pour les perfs. Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Seb Développeur Web Inscription : avril 2004 Messages : 1 063 ![]() |
@al1_24
merci beaucoup ca fonctionne nickel (je pensais quand meme qu'on pouvait faire plus simple car la problematique ne semblait pas élevée, mais tant pis, je vais m'en remettre @punkoff je suis sous MySQL qui ne veut pas entendre parler de cette syntaxe (ou alors j'ai pas fait ce qu'il fallait )
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 641 ![]() |
MtySql ne supporte pas ce type de requête.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com