sql文の組み立て方がわかりません。
userテーブルにはidとusernameのカラムがあり、loginhystoryテーブルにはidとuser_id、created(ログイン日時)のカラムがあります。userがログインすることでloginhystoryテーブルにデータが追加されていくというものです。loginhystoryテーブルには同じuser_idをもつデータが複数あるのですが、その中で最新のログイン日時だけを取り出すsqlの組み立て方がわかりません。
sql
1select ur.username, lh.created 2from users ur 3left join loginhystory lh on lh.user_id = ur.id
sql
1select ur.user, lh.created 2from users ur, loginhystory lh 3where ur.id = lh.user_id
これらのsql文だとどちらもusernameとログイン日時の対応がすべて得られ、ログインしていない場合はnullが得られるのですが、1userに対してすべてのログイン日時が得られてしまいます。欲しいのは各userの最新ログイン日時1件ずつです。どのようにすれば各ユーザー1件ずつのログイン日時が得られるでしょうか。よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/05/06 06:31