我有一个表,其中包含属于不同用户的记录。
表:
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
例如,查询返回用户 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 中怎么可能?
最佳答案
让 $date_given
具有给定的日期。
SELECT user_id, MIN(date_created) as date_created
FROM (entries)
WHERE date_created > $date_given
GROUP BY user_id
LIMIT 1
关于php - MYSQL 选择最接近给定日期但不更早的最旧记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11837804/