2011-08-12 11 views
1

利用可能日からMYSQLは、だから私はレコードを持っている...私はMYSQLクエリに関する質問をしました、そしてどのように私は、現在の日付に最も近い日付範囲を取得取扱いについては行くことができ、現在の日付に最も近い範囲

を日付を選択しますid、from_date、until_dateの形式で返します。

現在の日付が指定されていれば、現在の日付だけでなく、要件を満たすレコードが複数ある場合は、日付と時刻が最も近いレコードを選択します。現在の日付、その結果、例えば:

場合:

record1: from_date1, until_date1 
record2: from_date2, until_date2 

from_date1 <= current_date <= until_date1 
from_date2 <= current_date <= until_date2 

from_date1 >= from_date2 and until_date1 <= until_date2 

record1選択する必要があります...

私はこれを達成するために選択クエリの構文を探しています...

私の例では十分に明確であることを願っています...どんな助けでも大いに感謝します!

ありがとうございます! :)

Piotr。

答えて

2
SELECT from_date, until_date 
    FROM table 
    WHERE current_date BETWEEN from_date 
     AND until_date 
    ORDER BY TIMESTAMPDIFF(SECOND, from_date, until_date) 
    LIMIT 1 

は、条件に一致するすべてのレコードを選択します。最後の1つは100%に従わない - from_date2current_dateに非常に近い場合、until_date2の時間間隔がそれほど離れていないとどうなるでしょうか?

+0

ええ、私はそれについて考えていましたが、周りをどのように移動するかわかりません... – Piotr

関連する問題