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

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

数据库布局是表名:收益

列:id、收入、时间戳

正在做的命令:

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

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

【问题讨论】:

    标签: php mysql sql database mysqli


    【解决方案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
      

      第二次

      【讨论】:

      • 我同意这一点,但它不处理具有最大时间戳的记录的关系。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 2012-03-12
      • 2018-10-22
      • 1970-01-01
      相关资源
      最近更新 更多