我有一个事件表,其开头和结束日期存储如下
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
答案 0 :(得分:1)
我认为您可以使用CURDATE()
获取实际数据,然后选择当前数据之前的所有行,然后使用ORDER BY
从今天开始按降序排序
SELECT *
FROM table
WHERE eventstartdate < CURDATE()
ORDER BY eventstartdate DESC
答案 1 :(得分:0)
虽然我怀疑这是你所追求的。我需要看到预期的结果才能更好地理解这个问题。
SELECT Event_ID, EventStartDate, EventEndDate
FROM Table
ORDER BY EventStartDate
答案 2 :(得分:0)
我认为你应该使用这个查询
SELECT * FROM
table
ORDER BY eventstartdate DESC
根据我的说法,它会将所有带有开始日期顺序的事件发送到desc。意味着今天的事件在当前日期的顶部和底部之一,依此类推。