你好我有足球比赛的桌子,我需要根据今天的日期获得上一场比赛和下一场比赛。
我尝试过使用此查询
SELECT DATE( match_date ) AS yesterday
FROM matches
WHERE DATE( match_date ) = DATE( DATE_SUB( NOW( ) , INTERVAL 0 DAY ) )
GROUP BY yesterday
但记录可以在2天或3天之前......
此外,对于Next Game
如果我使用明天的日期,我将无法确定游戏是否在第二天或之后存在。
我使用此查询在今天的日期之前获得所有游戏。
SELECT *
FROM matches
WHERE DATE( match_date ) < DATE( DATE_SUB( NOW( ) , INTERVAL 0 DAY ) )
我需要的是今天是12-26-2012
,还有像这样的表
----------------------------------------------
id Date Home Away
----------------------------------------------
1 2012-12-26 23 85
2 2012-12-25 11 23
3 2012-12-01 23 43
4 2012-12-29 14 23
5 2013-01-14 23 192
6 2013-01-17 23 77
INPUT: GET THE NEXT GAME FOR TEAM = 23
OUTPUT: 4
INPUT: GET THE LAST GAME FOR TEAM = 23
OUTPUT: 3
答案 0 :(得分:2)
要获得最后一场比赛:
SELECT DATE( match_date ) AS last_game
FROM matches
WHERE DATE( match_date ) < CURDATE()
ORDER BY match_date DESC
LIMIT 1;
获得下一场比赛:
SELECT DATE( match_date ) AS last_game
FROM matches
WHERE DATE( match_date ) > CURDATE()
ORDER BY match_date ASC
LIMIT 1;