2016-11-06 4 views
0

私が達成しようとしているのは、データベースのデータを時間に応じて取得することです。MySQLiが時間ベースのデータを選択する

たとえば、アイテムに複数のpricesが含まれている可能性があります。新しい価格は時間と日付に基づいて有効になります。だから私は事前に価格の変更を予定することができます。

id link_id datetime    price 
------------------------------------------- 
2 11  2016-11-03 00:00:00 1020 
3 11  2016-11-03 01:00:00 1050 
4 11  2016-11-03 03:00:00 1090 

は、ユーザーが彼ら意志SE price-1020デシベルを照会するとき、時間が2016-11-03 00:59:00であると言うことができます。しかし、彼らが2016-11-03 01:00:00に1分後にdbに問い合わせると、彼らはprice-1050になるはずです。

これを試してみましたが、WHERE datetime < UTC_TIMESTAMP()でも問題は解決しません。また、1つの項目を選択するだけで済みます。複数の項目が選択されます。

MySQLiがこれを行う方法はありますか?

+0

質問を編集し、クエリ全体を表示してください。 –

+0

私はクエリ全体を見ることができる新しい質問を投稿しました:http://stackoverflow.com/questions/40450332/mysqli-time-based-subqueries @GordonLinoff – Borsn

答えて

1

一つだけのアイテムを探しているなら、私はこのような何か期待する:私は「link_idは」「アイテム」を参照していることを推測することができ

select p.* 
from prices p 
where p.item_id = $item_id and -- however you are representing items 
     p.datetime <= now() -- or UTC Timestamp if that is how the date/time is represented 
order by p.datetime desc 
limit 1; 

を。

+0

私は限界を持つことができません...私は残しましたこれは複数の結果をターゲットにしています。参加なしでそれを行う方法は何ですか? 'link_id'は行いますが、これは私のクエリの超簡単版です。 – Borsn

+0

@ Borsn。 。 。質問された質問に答えることは可能です。あなたは、あなたが実際に持っている質問にもっと似ている*別の質問をするべきです。 –

関連する問題