Bonjour,

Prenons un exemple (je simplifie, c'est beaucoup trop complexe sinon ^^'):


J'ai deux tables, l'une constituée des données d'un user, l'autre de son historique journalier :

user_id, user_name, user_count (table user)

user_id, user_count, user_date (table user_history)


Maintenant, les données :

table user :

1, premier, 46

2, deuxième, 58
table user_history

1, 48, 2013-06-20

2, 10, 2013-06-21

1, 54, 2013-06-23

Je voudrais récupérer la date maximale de chaque user_id.

Pour l'instant, j'ai ça :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT u.user_id, u.user_points, h.user_id, MAX(h.date_creation) as date_creation
FROM user u
LEFT JOIN user_history h ON (h.user_id = u.user_id)
GROUP BY u.user_id

Mais cela ne récupère pas selon la valeur maximale de la date, n'étant pas la même pour chaque user_id.

MAX ne me retourne que la colonne en question, pas toute la ligne qui va avec ...

Merci de votre aide !