我有一张表,其中包含属于不同用户的记录。
桌子:
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 中怎么可能?