[英]Get last record based on today's date
您好,我有一張足球比賽用的桌子,我需要根據今天的日期獲取上一場比賽和下一場比賽。
我嘗試使用此查詢
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
要獲得最后一場比賽:
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.