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, 58table 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 !
Partager