USER_LOG テーブルの各 USERID について、ある日付の後に LAST レコードを取得するための SQL ステートメントを作成するのに助けが必要です。
このテーブルには他にいくつかの列があることを書き忘れていました。
TABLE: USER_LOG
ID 名前 MODIFY_DATE MODIFY_TYPE 55 ユーザー 2013-05-07 15:47:53.0 1 88 ユーザー B 2013-05-07 16:00:57.0 1 55 ユーザー 2013-05-08 11:44:10.0 2 88 ユーザー B 2013-05-08 15:47:09.0 2 88 ユーザー B 2013-05-08 16:01:41.0 1 55 ユーザーA 2013-05-09 15:11:53.0 0 55 ユーザーA 2013-05-09 16:00:57.0 0 55 ユーザーA 2013-05-10 09:14:10.0 1 88 ユーザー B 2013-05-10 16:01:41.0 2 55 ユーザー 2013-05-10 18:23:03.0 2 55 ユーザーA 2013-05-11 09:14:10.0 2 88 ユーザー B 2013-05-11 16:01:41.0 1 55 ユーザーA 2013-05-13 11:34:07.0 1 55 ユーザー 2013-05-13 15:53:04.0 2 55 ユーザーA 2013-05-13 16:13:04.0 1
Example 1: Get All users they have bean changed after '2013-05-08 00:00:00.0'.
Must return:
ID 名前 MODIFY_DATE MODIFY_TYPE 55 ユーザー 2013-05-07 15:47:53.0 1 88 ユーザー B 2013-05-07 16:00:57.0 1 55 ユーザー 2013-05-08 11:44:10.0 2 88 ユーザー B 2013-05-08 15:47:09.0 2 88 ユーザー B 2013-05-08 16:01:41.0 1 55 ユーザーA 2013-05-09 15:11:53.0 0 55 ユーザーA 2013-05-09 16:00:57.0 0 55 ユーザーA 2013-05-10 09:14:10.0 1 88 ユーザー B 2013-05-10 16:01:41.0 2 55 ユーザー 2013-05-10 18:23:03.0 2 55 ユーザーA 2013-05-11 09:14:10.0 2 **88 userB 2013-05-11 16:01:41.0 1** これを返す 55 ユーザーA 2013-05-13 11:34:07.0 1 55 ユーザー 2013-05-13 15:53:04.0 2 **55 userA 2013-05-13 16:13:04.0 1** これを返す
Example 2: Get All users they have bean changed after '2013-05-12 00:00:00.0'.
Must return:
ID 名前 MODIFY_DATE MODIFY_TYPE 55 ユーザー 2013-05-07 15:47:53.0 1 88 ユーザー B 2013-05-07 16:00:57.0 1 55 ユーザー 2013-05-08 11:44:10.0 2 88 ユーザー B 2013-05-08 15:47:09.0 2 88 ユーザー B 2013-05-08 16:01:41.0 1 55 ユーザーA 2013-05-09 15:11:53.0 0 55 ユーザーA 2013-05-09 16:00:57.0 0 55 ユーザーA 2013-05-10 09:14:10.0 1 88 ユーザー B 2013-05-10 16:01:41.0 2 55 ユーザー 2013-05-10 18:23:03.0 2 55 ユーザーA 2013-05-11 09:14:10.0 2 88 ユーザー B 2013-05-11 16:01:41.0 1 55 ユーザーA 2013-05-13 11:34:07.0 1 55 ユーザー 2013-05-13 15:53:04.0 2 **55 userA 2013-05-13 16:13:04.0 1** これを返す
何かを見つけましたが、X の後の日付で条件をどこに置くかわかりません。
SELECT u1.*
FROM user_log u1 LEFT JOIN user_log u2
ON (u1.id = u2.id AND u1.modify_date < u2.modify_date )
WHERE u2.modify_date IS NULL;
誰かがこれで私を助けてくれますか?