我正在嘗試返回兩個單獨的DATETIME列中具有最高日期的表中的記錄。如何選擇在兩個日期時間列中找到的具有最高日期的記錄?
例如:
--------------------------------------------------------------
| ID | DATE1 | DATE2 | OTHERDATA |
--------------------------------------------------------------
| 1 |2016-02-16 17:14:10| NULL | 3 |
--------------------------------------------------------------
| 2 |2016-02-29 10:14:51| 2016-03-03 12:43:39 | 3 |
--------------------------------------------------------------
| 3 |2016-03-03 12:43:39| 2016-03-10 01:00:00 | 3 |
--------------------------------------------------------------
MySQL查詢我得遠:
SELECT *, GREATEST(COALESCE(DATE1,0),
COALESCE(DATE2,0))
FROM Table
WHERE OTHERDATA = 3
GROUP BY OTHERDATA;
我期待此查詢到回報ID 3而是它返回ID 1。我假設它與NULL有關,但我認爲COALESCE會處理這個問題?有任何想法嗎?
刪除GROUP BY子句。這裏沒有聚合功能 – Strawberry