php - MYSQL 选择最接近给定日期但不更早的最旧记录

标签 php mysql sql database

我有一个表,其中包含属于不同用户的记录。

表:

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/

相关文章:

mysql - 当值存储在另一个 ROW 中时使用 IN 的 SQL

mysql - 如何 LEFT JOIN 超过 2 个表没有记录?

sql - 查找字符串中是否有 6 位数字

Python/SQLAlchemy - 如何使用多个 WHERE 子句快速查询数据库?

c# - 无法从kubernetes中的c#前端连接到Mysql服务

php - 如何正确进行INNER JOIN? mysql

php - 使用 php 从 xml 返回数据

PHP + MySQL 事务示例

php - 无法使用PHPExcel将Excel中的数据导入到phpMySql

php - Firefox 不向服务器发送 POST 数据