私は元々、VAR_CHAR データ型の user_id と log_time の 2 つのフィールドを持つテーブルを持っています。サンプル入力
user_id log_time
00148 2013-05-25 08:15:03
00176 2013-05-25 09:09:32
00152 2013-05-25 10:25:55
00146 2013-05-25 10:39:14
00148 2013-05-25 21:23:29
00146 2013-05-25 21:24:52
00152 2013-05-25 21:25:15
00176 2013-05-25 21:26:34
00148 2013-05-26 09:25:53
00176 2013-05-26 09:54:09
00152 2013-05-26 09:58:21
00146 2013-05-26 10:19:04
00148 2013-05-26 18:13:26
00146 2013-05-26 18:14:04
00152 2013-05-26 19:55:20
00176 2013-05-26 19:56:51
私はこのテーブルを変更できないので、日付と時刻を分離できるようにするためにこのクエリを実行しました:
SELECT `user_id` ,
SUBSTRING( `log_time` , 1, 10 ) AS 'date',
SUBSTRING( `log_time` , 11 ) AS 'time'
FROM `user_log`
ORDER BY `user_id`
私はこの出力を持っていました:
あなた
ser_id date time
00148 2013-05-25 08:15:03
00176 2013-05-25 09:09:32
00152 2013-05-25 10:25:55
00146 2013-05-25 10:39:14
00148 2013-05-25 21:23:29
00146 2013-05-25 21:24:52
00152 2013-05-25 21:25:15
00176 2013-05-25 21:26:34
00148 2013-05-26 09:25:53
00176 2013-05-26 09:54:09
00152 2013-05-26 09:58:21
00146 2013-05-26 10:19:04
00148 2013-05-26 18:13:26
00146 2013-05-26 18:14:04
00152 2013-05-26 19:55:20
00176 2013-05-26 19:56:51
今私が取得したいのは、ユーザーの特定の日付の最初のエントリ (最も早い時間) です *日付ごとにユーザーの 2 つの入力がある可能性があることに注意してください
私はORDER BY、GROUP BY、JOIN、DISTINCTを掘り下げてきましたが、実際にそれを解決する方法を見つけることができないようです..Javaのif条件を介して目的の出力を得ることができましたが、オンにする必要がありますクエリ。いくつかの助けを期待しています..ちなみに、私はphpmyadminでmysqlを使用しています