MySQL以逻辑顺序显示事件

时间:2012-08-24 23:30:26

标签: mysql sql date

希望组织以下日期(假设今天是2012年8月24日):

  

2012年12月1日
  2012年11月1日
  2012年6月1日
  2012年6月30日

以下列方式:

  

2012年11月1日
  2012年12月1日
  2012年6月30日
  2012年6月1日

这是一种方式,它显示尚未发生的事件第一次,从最快到最远,然后显示过去的事件,从最近到最远。

您可以假设表结构为:

ID   name    event_date
1    Test    1351742400  # All dates are Unix Time
2    Test2   1354338000

1 个答案:

答案 0 :(得分:3)

SELECT ID, name, event_date
FROM yourtable
ORDER BY event_date < UNIX_TIMESTAMP(), ABS(UNIX_TIMESTAMP() - event_date)

查看在线工作:sqlfiddle