2

希望组织以下日期(假设今天是 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
4

1 回答 1

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

在线查看它:sqlfiddle

于 2012-08-24T23:33:49.537 回答