2011-11-24 63 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