テーブルからデータを取り出そうとしています。簡単にするために、テーブル(time_entries)には3つの列user_name、entry_type、およびentry_datetimeがあります
ここにサンプル出力があります
user_name| entry_type | entry_datetime
User1 | Time In | 28-JUL-13 16:40:40
User1 | Time Out | 28-JUL-13 16:40:41
User2 | Time In | 28-JUL-13 16:41:13
User2 | Time Out | 28-JUL-13 16:41:15
User3 | Time In | 28-JUL-13 16:42:32
ここでやろうとしているのは、各ユーザーが最後にログインしたときに結果を取得することです
私の質問
SELECT te.user_name, te.entry_type, MAX(te.entry_datetime) AS date
FROM time_entries AS te
GROUP BY te.user_name
これは間違った結果でのみ正常に実行されます。以下の出力は次のとおりです
出力
user_name| entry_type | entry_datetime
User1 | Time In | 28-JUL-13 16:40:41
User2 | Time In | 28-JUL-13 16:41:15
User3 | Time In | 28-JUL-13 16:42:32
user_name と entry_datetime は正しいですが、entry_type はすべて Time In です。User1 と User2 の entry_type は Time Out でなければなりません。
誰でもこの問題の解決策を知っていますか?