mySQL查询昨天的最大时间戳

Posted

技术标签:

【中文标题】mySQL查询昨天的最大时间戳【英文标题】:mySQL query for max timestamp yesterday 【发布时间】:2013-01-18 05:40:36 【问题描述】:

我正在寻找从昨天开始的最大时间戳。将数据存储为日期时间。

数据库布局是表名:收益

列:id、收入、时间戳

正在做的命令:

SELECT earnings, timestamp FROM earnings WHERE timestamp = (SELECT MAX(timestamp) FROM earnings)

现在我想获取昨天的最高时间戳....请让我知道通过 mysqlphp 和 mySQL 执行此操作的最佳方法。

【问题讨论】:

【参考方案1】:
SELECT earnings, timestamp 
FROM earnings 
WHERE timestamp = (SELECT MAX(timestamp) 
                   FROM earnings
                   WHERE DATE(timestamp) = DATE_ADD(CURDATE(),INTERVAL -1 DAY))

SELECT  a.*
FROM    earnings a
        INNER JOIN
        (
            SELECT MAX(timestamp) max_Date
            FROM earnings
            WHERE DATE(timestamp) = DATE_ADD(CURDATE(),INTERVAL -1 DAY)
        ) b ON a.timestamp = b.max_Date

【讨论】:

【参考方案2】:

为什么大家都这么喜欢子选择?

SELECT * FROM earnings ORDER BY timestamp DESC limit 1

对于您的第一个查询,并且

SELECT * FROM earnings WHERE timestamp < CURDATE() ORDER BY timestamp DESC limit 1

第二次

【讨论】:

我同意这一点,但它不处理具有最大时间戳的记录的关系。

以上是关于mySQL查询昨天的最大时间戳的主要内容,如果未能解决你的问题,请参考以下文章

优化最新时间戳查询mysql

如何处理mysql中的时间戳读取问题

如何处理mysql中的时间戳读取问题

MYSQL查询使用时间戳调用最近的值[重复]

MySQL查询列值更改的时间戳

为啥mysql中的时间戳范围为1970-2037年?