我有一張表,我想展示一些事件。我想在將來按升序排列我的事件,而按照降序排列我的事件。我怎樣才能做到這一點與一個查詢?訂購一個字段,包括ASC和DESC
我目前的訂單
Dec 23
Nov 10
Nov 04
Sep 12
Aug 01
Jul 23
順序我想
Nov 4 ** changed place
Nov 10
Dec 23 ** changed place
Sep 12
Aug 01
Jul 23
提前非常感謝。
我有一張表,我想展示一些事件。我想在將來按升序排列我的事件,而按照降序排列我的事件。我怎樣才能做到這一點與一個查詢?訂購一個字段,包括ASC和DESC
我目前的訂單
Dec 23
Nov 10
Nov 04
Sep 12
Aug 01
Jul 23
順序我想
Nov 4 ** changed place
Nov 10
Dec 23 ** changed place
Sep 12
Aug 01
Jul 23
提前非常感謝。
你問從當前日期的距離進行排序:
SELECT *
FROM table
ORDER BY IF(date_field >= NOW()),0,1), ABS(DATEDIFF(NOW(), date_field))
請使用代碼格式並向您的代碼專用答案添加解釋。 – DanFromGermany 2014-09-23 13:10:33
這將交織結果,而不是讓它們分開。 – barryhunter 2014-09-23 14:30:44
儘管它構成了答案的一部分,但可以通過IF(eventDate> = NOW()),0,1)ASC,days ASC'來首先將它們分離出來,然後按距離排序。 – barryhunter 2014-09-23 14:33:15
請與我們分享您已經嘗試了什麼。 – 2014-09-23 13:04:11
你能解釋一下我想要的命令嗎?未來的升級和過去的desc?不明白.. – 2014-09-23 13:05:48
正如您在示例第一個示例中所看到的那樣,使用普通的「ORDER BY eventDate DESC」從日期數據庫中查詢日期,這意味着日期只是按降序顯示。我希望將來的日期按升序顯示 - WHERE eventDate> = NOW()ORDER BY eventDate ASC' - 以及過去顯示的日期降序 - WHERE eventDate
wally
2014-09-23 13:10:42