2

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

 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
4

3 回答 3

1

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

SELECT *
FROM table
WHERE eventstartdate < CURDATE()
ORDER BY eventstartdate DESC
于 2013-06-13T15:49:37.527 回答
0

虽然我怀疑这是你所追求的。我需要看到预期的结果才能更好地理解这个问题。

SELECT Event_ID, EventStartDate, EventEndDate 
FROM Table
ORDER BY EventStartDate 
于 2013-06-13T15:49:29.970 回答
0

我认为您应该使用此查询

SELECT * FROM 
  table 
ORDER BY eventstartdate DESC

据我说,它会给你所有的开始日期顺序到 desc 的事件。表示今天的事件在顶部并减去当前日期之一,依此类推。

于 2013-06-13T15:57:56.103 回答