我通過DATE_MODIFIED降序排序列表Mysql - ORDER BY - 可以使用條件嗎?
此問題是,當一個新的記錄輸入,DATE_MODIFIED是空日期0000-00-00 00:00:00
所以這個記錄將在底部,而不是列表頂部。
如何對此進行排序? :(
注:我不插入與現在日期DATE_MODIFIED,因爲我有一個字段date_create
我通過DATE_MODIFIED降序排序列表Mysql - ORDER BY - 可以使用條件嗎?
此問題是,當一個新的記錄輸入,DATE_MODIFIED是空日期0000-00-00 00:00:00
所以這個記錄將在底部,而不是列表頂部。
如何對此進行排序? :(
注:我不插入與現在日期DATE_MODIFIED,因爲我有一個字段date_create
ORDER BY COALESCE(DATE_MODIFIED,DATE_CREATED)DESC;
但是,如果您在執行INSERT時將date_modified設置爲CURRENT_TIMESTAMP,則性能會更好,因爲已經提示過了。
謝謝,我會試試看 – Chameron 2011-05-11 03:53:58
您可以排序創建日期先做兩件事情,然後LAST_MODIFIED
SELECT * FROM table ORDER BY created DESC,last_modified DESC
也可以添加默認的修改時間爲當前時間
INSERT INTO table (....,last_modified)VALUES (....,NOW());
現在你可以很容易地做出排序
當你添加記錄添加當前日期,修改日期,與創建日期相同 – Ibu 2011-05-11 03:34:34
你有另一種解決方案嗎?它會用在沒有更好的解決方案時 – Chameron 2011-05-11 03:36:44
我加了2個替代方案,檢查一下是否可以爲你工作 – Ibu 2011-05-11 03:42:19