SQL 按截止时间列获取行



假设我有一个产品表,如下所示:

| prod_id  | prod_name   | prod_price | prod_deadline      |
|   1      | prod_A 1    | 30.00      | 2015-05-13 04:00:00|
|   2      | prod_A 2    | 40.00      | 2015-06-12 04:00:00|
|   3      | prod_A 3    | 50.00      | 2015-07-21 04:00:00|

这个想法是我的产品 A 有三个不同的截止日期,5 月 13 日之后的价格是 30 美元,6 月 12 日之后是 40 美元,7 月 21 日之后是 50 美元。由于各种业务原因,列结构已设置且无法更改。

如果今天是 2015-06-11 16:00:00 MySQL 查询是什么,可以让我付出正确的代价,而无需从结果中循环使用 php 或任何语言?

您可以使用

order bywherelimit进行此计算。 我想它会像这样工作:

select p.*
from products p
where prod_name = 'prod A' and prod_deadline <= now()
order by prod_deadline desc
limit 1

您可能需要like而不是=产品名称。

相关内容

  • 没有找到相关文章

最新更新