MySQL中取出時間日期最近的記錄是非常常見的需求,一般是通過使用ORDER BY和LIMIT來實現(xiàn)。
SELECT * FROM my_table ORDER BY my_date DESC LIMIT 1;
上面的代碼將返回my_table表中最近的一條記錄,其中my_date是一個datetime類型的列。
如果需要取出最近的N條記錄,只需要將LIMIT的參數(shù)設(shè)置為N即可:
SELECT * FROM my_table ORDER BY my_date DESC LIMIT N;
另外,如果需要取出某個時間段內(nèi)最近的記錄,可以使用BETWEEN關(guān)鍵字和NOW()函數(shù)組合查詢:
SELECT * FROM my_table WHERE my_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 DAY) AND NOW() ORDER BY my_date DESC LIMIT 1;
上面的代碼將返回my_table表中最近一天內(nèi)的最近一條記錄。