MySQLi选择基于时间的数据

时间:2016-11-06 13:24:06

标签: php mysql 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

假设时间是2016-11-03 00:59:00,当用户查询数据库时,他们会查看price-1020。但是当他们在2016-11-03 01:00:00一分钟后查询数据库时,他们应该price-1050

尝试了这个WHERE datetime < UTC_TIMESTAMP(),但这并没有解决我的问题。此外,它只需要选择一个条目,这将选择多个。

MySQLi有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

如果你只是在找一件物品,我会期待这样的事情:

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;

我可以推测&#34; link_id&#34;是指&#34;项目&#34;。