Mysql查询即将到来的事件与开始日期和结束日期,并显示过去的事件



我有一个事件表,开始和结束日期存储如下

 event_id   eventstartdate    eventenddate 
    1       2012-10-02         2012-10-20 
    2       2013-09-27         2013-10-27 
    6       2013-10-18         2013-11-18 
    8       2012-11-06         2012-11-23 
    9       2013-02-05         2013-02-12 
    10      2013-06-11         2013-06-13 

和我想显示事件顺序的事件开始日期从今天..并获得过去的事件基于事件开始日期在单个查询..

预期结果如下

event_id   eventstartdate    eventenddate
      1      2013-09-27         2013-10-27 
      2      2013-10-18         2013-11-18
      3      2013-06-11         2013-06-13
      4      2013-02-05         2013-02-12
      5      2012-11-06         2012-11-23 
      6      2012-10-02         2012-10-20

我认为您可以使用CURDATE()获取实际数据,然后选择当前数据之前的所有行,然后使用ORDER BY从今天开始按降序排序

SELECT *
FROM table
WHERE eventstartdate < CURDATE()
ORDER BY eventstartdate DESC

尽管我怀疑这是你想要的。我需要看到预期的结果,以便更好地理解这个问题。

SELECT Event_ID, EventStartDate, EventEndDate 
FROM Table
ORDER BY EventStartDate 

我认为你应该使用这个查询

SELECT * FROM 
  table 
ORDER BY eventstartdate DESC

根据我的说法,它将以开始日期顺序为desc提供所有事件。表示今天的事件在顶部,减去当前日期的一个,以此类推。

最新更新