我在查詢中排序時遇到了一些問題。MYSQL ORDER BY TIMESTAMPDIFF兩欄如果
所以,我需要具有在該表(remind_date)當前時間與柱之間的差值第一顯示命令必須是(-70 - 0)ASC 如果remindDAteDIFf是不是在我的範圍比爲了通過status_updated DESC在其他情況順序依據(status_updated)DESC。
我寫此查詢:
SELECT TIMESTAMPDIFF(MINUTE,remind_date, NOW()) as remindDAteDIFf,
order_id, remind_date, status_id, status_updated
FROM s_order
ORDER BY IF(remindDAteDIFf BETWEEN -70 AND 0, remind_date, status_updated) DESC;
這是很好的,但我需要排序ASC現場remindDAteDIFf和status_updated BY DESC。 (Firts需要顯示remindDAteFf = -16和-28相比) 我試過
IF(remindDAteDIFf BETWEEN -70 AND 0, remind_date ASC, status_updated DESC)
但我已經遇到錯誤至極說,查詢是incorrrect
感謝重播。不幸的是,它首先將所有的數據排序爲:reminDAteDIFf DESC,然後是status_updated。雖然我需要複合訂單 - 如果alertsDAteDIFf不在我的範圍內,而不是訂單通過status_updated DESC – YuriiChmil
「我需要第一個顯示訂單,其中當前時間和表中的列(reminisation_date)之間的差異必須是(-60 - 0)ASC in其他情況排序依據(status_updated)DESC。「這個答案是我解釋你的問題所要求的。我離開了「70」而不是「60」,因爲這就是你的代碼的措辭。 –
那麼,也許我錯了解釋我需要什麼)我糾正了一點點描述 – YuriiChmil