2010-07-25 5 views
1

Tableau utilisateurs
groupe Simple MYSQL Par ENTREZ

  • id - clé primaire, AI
  • nom d'utilisateur - varchar (50)

Tableau logins

  • login_time - DateTime
  • member_id - int (11)

Cette SQL sélectionne login_time moyenne et max et trie DESC
SELECT member_id, max (login_time) au fil du temps à partir de connexions GROUP BY member_id ORDER BY temps DESC

question
Comment sélectionnez-vous et rejoindre le nom d'utilisateur sur member_id pour chaque ligne?

Répondre

1
SELECT u.username, max(l.login_time) as time FROM logins l 
LEFT JOIN users u ON (l.member_id = u.id) 
GROUP BY l.member_id ORDER BY time DESC 
1
SELECT l.member_id, max(l.login_time) as time, u.username FROM logins as l 
join users as u on u.id = l.member_id 
GROUP BY l.member_id ORDER BY l.time DESC 
+0

MYSQL renvoie une erreur pour ORDER BY l.time. Je préfère écrire 'table t', plutôt que d'utiliser le mot-clé 'as' qui est généralement utilisé pour les alias de colonne. – rrrfusco