【发布时间】:2012-08-03 23:40:08
【问题描述】:
我有一个表,其中包含属于不同用户的记录。
表:
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 中怎么可能?
【问题讨论】:
-
日期存储在什么样的字段中?是 unix 时间戳还是其他?