1

「C」と呼ぶパラメーターとしてタイムスタンプがあるとします。データベースには、2つのフィールドを含むテーブル「TABLE」があります。タイムスタンプ「A」、タイムスタンプ「B」。

「C」に最も近く、「B」をまだ通過していない「A」でソートされた「TABLE」から行をフェッチしたい。それ、どうやったら出来るの?

条件 now() <= "B" を照会する方法を知っています。しかし、単一のクエリで並べ替えを行うことはできません。これを行う最も効率的な方法は何ですか?

4

1 に答える 1

1

使用しているデータベース サーバーを指定しない限り、ヒントは次のとおりです。

WHERE timestamp_b >= current_timestamp
ORDER BY ABS(timestamp_c - timestamp_a)

timestamp_bこのようにして、まだ渡されていないイベントを取得し、 timestamp_a への「近さ」によって順序付けます

于 2013-01-14T06:42:08.020 に答える