簡體   English   中英

獲取基於今天日期的最新記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM