【问题标题】:how to get the next three events from mysql database starting with closest date to today如何从离今天最近的日期开始从mysql数据库中获取接下来的三个事件
【发布时间】:2014-02-25 15:19:14
【问题描述】:

我正在使用 PDO 方法连接到我的 MySQL 数据库。我将事件存储为 event_date 作为日期类型。我如何选择今天日期之后的 3 个下一个事件?我需要将 event_date 从日期切换到时间戳吗?我以 yyyy-mm-dd 格式保存我的日期,并且它们必须像这样,其他部分的代码才能工作。

我试过了,但它并没有真正起作用:

SELECT *
FROM events
WHERE event_date > NOW()
ORDER BY event_date ASC
LIMIT 3

对 pdo 很陌生,而且我对日期和时间功能一般不擅长:/ 谢谢!

【问题讨论】:

  • event_date 列现在是什么数据类型? “它没有真正起作用”是什么意思?怎么没用?你期待什么,你得到了什么?
  • 我认为它应该做你想要的,但你真正期望的结果是什么?以及您从这个查询中得到什么? “格式 yyyy-mm-dd”我希望你使用 DATE 类型......你必须在你的情况下。
  • @Nick 请发布一些示例数据,这些数据会给您的查询带来意外/不希望的结果

标签: mysql date


【解决方案1】:
SELECT *,DATEDIFF(curdate(),event_date) as closetevent 
   from events 
   Order by closetevent ASC 
   LIMIT 3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多