1

テーブルからデータを取り出そうとしています。簡単にするために、テーブル(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 でなければなりません。

誰でもこの問題の解決策を知っていますか?

4

3 に答える 3