Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择基于多行的日期/时间范围的记录_Mysql_Date - Fatal编程技术网

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)

您可能不需要强制转换值就可以离开,但这将确保日期和时间值的格式正确


但是,我建议将日期和时间值存储为单个标准日期时间值。是否有理由将其作为两个单独的列?

感谢您的输入,但是我们不希望通过两个日期来检查中间值,我最初的问题是在给定的单个日期/时间输入的基础上获得折扣。