代码之家  ›  专栏  ›  技术社区  ›  Addo Solutions

MySQL按逻辑顺序显示事件

  •  2
  • Addo Solutions  · 技术社区  · 12 年前

    希望安排以下日期(假设今天是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 回复  |  直到 12 年前
        1
  •  3
  •   Mark Byers    12 年前
    SELECT ID, name, event_date
    FROM yourtable
    ORDER BY event_date < UNIX_TIMESTAMP(), ABS(UNIX_TIMESTAMP() - event_date)
    

    在线查看: sqlfiddle