【问题标题】:How to SELECT data from table only recorded the last three days如何从表中选择仅记录最近三天的数据
【发布时间】:2012-07-08 11:16:47
【问题描述】:

我通过 mysql NOW() 函数在“日期”字段中记录了数据。我想选择记录过去三天(今天、昨天和前天)的数据,但不知道要这样做。

SELECT * FROM tlb_students WHERE date ...?... ORDER BY date DESC LIMIT 20

【问题讨论】:

    标签: mysql date select days


    【解决方案1】:

    另一种方法是:

    SELECT * FROM tlb_students WHERE date < DATE_ADD(CURDATE(),INTERVAL -3 DAY)
    

    【讨论】:

      【解决方案2】:
      WHERE date >= subdate(NOW(), 2) 
      

      【讨论】:

        【解决方案3】:
        SELECT * 
        FROM tlb_students 
        WHERE date >= NOW() - INTERVAL 3 DAY
        ORDER BY date DESC
        LIMIT 20
        

        【讨论】:

        • 使用 NOW() 和 CURDATE() Zane 有什么不同?如果我在清晨使用它,是否可以获取前天之前的数据?
        • @AJOP NOW() 生成格式为“YYYY-MM-DD HH:MM:SS”的时间戳,而CURDATE() 生成格式为“YYYY-MM-DD”的日期,因此使用NOW(),您会得到以下帖子在从当前时间开始的 3 天内完成,因为考虑了小时/分钟/秒。这是假设您的 date 字段是 DATETIMETIMESTAMP 类型。
        【解决方案4】:
        WHERE date >= ( CURDATE() - INTERVAL 3 DAY )
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-01-01
          • 1970-01-01
          • 2021-12-13
          • 2015-06-11
          • 2011-12-02
          • 2018-06-18
          • 2010-12-07
          相关资源
          最近更新 更多