さまざまなユーザーに属するレコードを含むテーブルがあります。
テーブル:
RECORD_ID USER_ID DATE_CREATED
1 5 08/05/12
2 5 08/04/12
3 10 08/05/12
4 10 08/02/12
5 10 08/01/12
クエリ:
SELECT user_id, MIN(date_created) as date_created
FROM (entries)
GROUP BY user_id
クエリは、各ユーザーの最も古いレコードを返します。
RECORD_ID USER_ID DATE_CREATED
2 5 08/04/12
5 10 08/01/12
特定の日付に最も近いが、それより古いレコードを選択するにはどうすればよいですか? 線に沿った何か...
SELECT oldest record > given oldest record
WHERE oldest record NOT =< given oldest record
たとえば、クエリは user のすべてのレコードを返します10
。
RECORD_ID USER_ID DATE_CREATED
3 10 08/05/12
4 10 08/02/12
5 10 08/01/12
ユーザーの指定日10
は です08/02/12
。ここで、上の次に古いレコードを選択する必要があります08/02/12
。
それ08/05/12
は、トップに達しない限り、それ以下の記録になることはありません。これはMYSQLでどのように可能ですか?