列を持つ架空のテーブル「users」があります
- user_id(自動インクリメント)
- 名前
- foo
- バー
- 最終更新
このテーブルは1日に複数回更新されます。X日前に、ユーザーごと、1日ごとに、最後の更新を取得するためにクエリを実行するにはどうすればよいですか?
サンプルデータ
1 John a b "2013-01-31 02:01:12"
2 Rich c d "2013-01-31 22:41:12"
3 John e f "2013-01-31 22:01:15"
4 Rich g h "2013-02-01 16:01:12"
5 John i j "2013-02-01 22:21:12"
6 Rich k m "2013-02-01 22:21:12"
希望する返品セット:
2 Rich c d 2013-01-31
3 John e f 2013-01-31
5 John i j 2013-02-01
6 Rich k m 2013-02-01
次のクエリを使用して、ユーザーごとに最後に更新されたものを取得できます。これは、私が苦労している毎日に適用されます。
SELECT u1.*
FROM users u1
LEFT JOIN users u2
ON (u1.name = u2.name AND u1.user_id < u2.user_id)
WHERE u2.user_id IS NULL