クエリのヘルプが必要です。
select *,min(cast(hour(now())- hour_offer) as unsigned)) as time_left
from out_of_offer
group by offer_id
order by time_left asc
out_of_offer テーブルに複数の hour_offer があり、現在の時間に最も近いレコード (offer_id でグループ化) を 1 つだけ取得する必要があります。
例えば
offer_id hour(now()) hour_offer
1 11 8
2 11 9
1 11 10
2 11 11
2 11 12
クエリで実行したいのは、現在の時間 (11) に最も近く、offer_id が異なる 3 番目と 4 番目の行を取得することです。
hour_offer is mediumint(2) unsigned
誰かがそれを行う方法を手伝ってもらえますか?
編集mysql クエリで
出力hour(now())-hour_offer
すると、結果は巨大な (正の) 数値になります。