Mysql 选择基于多行的日期/时间范围的记录
我有以下表格结构Mysql 选择基于多行的日期/时间范围的记录,mysql,date,Mysql,Date,我有以下表格结构 id date time discount ------------------------------------------------------ 1 2015-08-10 09:30:00 50% 2 2016-04-15 14:00:00 30% 3 2018-01-25 18:15
id date time discount
------------------------------------------------------
1 2015-08-10 09:30:00 50%
2 2016-04-15 14:00:00 30%
3 2018-01-25 18:15:00 75%
4 2018-11-19 11:45:00 45%
我想查询这个表,找到具体日期的折扣金额
预期结果
如果我查询的日期介于2015-08-10 09:30:00
-2016-04-15 13:59:59
之间,结果应该是50%
对于介于2016-04-15 14:00:00
-2018-01-25 18:14:59
之间的日期,结果应为30%
例如:
查询此表的日期2016-01-10 08:00:00
结果50%
我已经搜索了SO&Google,但找不到我的案例的解决方案
尝试查询我的示例,如
SELECT * FROM discounts WHERE date<='2016-01-10' AND time<='08:00:00'
ORDER BY date DESC LIMIT 1
SELECT*FROM折扣,其中date您可以在表结构中使用类似的内容-
从“2015-08-10 09:30:00”和“2016-04-15 13:59:59”之间的折扣中选择折扣(CONCAT(date,”,time)作为DATETIME)
您可能不需要强制转换值就可以离开,但这将确保日期和时间值的格式正确
但是,我建议将日期和时间值存储为单个标准日期时间值。是否有理由将其作为两个单独的列?感谢您的输入,但是我们不希望通过两个日期来检查中间值,我最初的问题是在给定的单个日期/时间输入的基础上获得折扣。