2011-11-24 64 views
1

我們必須找到current_date的最近的日期。舉例來說,我們有4個足球具有鮮明的日期匹配:查詢獲取表中最近的日期

id match_id date 
1  69  2011-05-12 
2  89  2011-07-18 
3  8  2011-08-12 
4  5  2011-12-06 

起初,我認爲最好的查詢必須比表達相似:

MIN(DATE_DIFF(CURRENT_DATE(),date))

如果CURRENT_DATE = 2011-11-25,此查詢的結果必須是ID = 4

結論:我們想從當前日期獲得最aprox的日期捨去,任何想法?

回答

5

我中有你的解決方案:

看這個

SELECT 
match_id 
ABS (DATEDIFF(CURRENT_DATE(),date)) 
FROM matches 
ORDER BY ABS (DATEDIFF(CURRENT_DATE(),date)) ASC 
LIMIT 0,1 

運氣好哥們!

+1

完美的是,我們正在尋找這樣的查詢。謝謝! – aaronroman