特定の日付変数に最も近い日付のレコードを取得する方法はありますか?
例えば:
今日の日付はThursday, 10th January 2012
私のデータベースには、次の水曜日の「来週の」フィクスチャをリストしたいフィクスチャのリストがあります。Wednesday, 16th January 2012
日付列にこれを含むすべての行を出力するファイルを取得するにはどうすればよいですか?
前もって感謝します!
編集:
これはサンプルデータを含む私のテーブルです - bowl-track_fixtures
:
| fixture_id | league_id | fixture_team_1 | fixture_team_2 | fixture_date |
---------------------------------------------------------------------------------------
| 1 | 2 | 5 | 6 | Wednesday, 30th January |
| 2 | 2 | 4 | 1 | Wednesday, 30th January |
| 3 | 2 | 2 | 3 | Wednesday, 30th January |
| 1 | 2 | 5 | 6 | Wednesday, 06th February |
| 2 | 2 | 4 | 1 | Wednesday, 06th February |
| 3 | 2 | 2 | 3 | Wednesday, 06th February |
etc..
システムに、今日の日付以降に最も近い行のみを表示してもらいたいです。
私は次のことを試しました。
SELECT * FROM `bowl-track_fixtures` WHERE STR_TO_DATE(`fixture_date`, '%l, %d%S %F %Y') >= NOW() ORDER BY STR_TO_DATE(`fixture_date`, '%l, %d%S %F %Y') LIMIT 1;
ただし、これは結果を返しません
@ニカルス
これは私が使用しているMySQLコードです:
SELECT fixture_id, MIN( STR_TO_DATE(
fixture_date, '%l, %d%S %F %Y'
) ) AS `next_fixture_date`
FROM `bowl-track_fixtures`
WHERE STR_TO_DATE(
`fixture_date` , '%l, %d%S %F %Y'
) & gt ; = NOW( )
GROUP BY `fixture_id`
)b ON ( a.`fixture_id` = b.`fixture_id` )
AND (
STR_TO_DATE(
a.`fixture_date` , '%l, %d%S %F %Y'
) = b.`next_fixture_date`
)
LIMIT 0 , 30
そして、これを返します:
MySQL said:
#1305 - FUNCTION db.STR_TO_DATE does not exist