不要在我的mysqli查询中显示过期结果

时间:2016-12-09 23:32:08

标签: mysql

这是我的问题:

SELECT * FROM courses WHERE course_all = '1' AND course_hour = 'inactive' 
AND (cdate > DATE_ADD(CURDATE(), INTERVAL - 1 HOUR) AND course_hour = 'active');

此查询应显示除course_hour = 'active'且已过期一小时的结果之外的所有结果。

我想要的是什么:

我希望显示包含course_all = '1'course_hour = 'inactive'以及course_hour='active'但最近创建的结果的所有结果,并且在创建后不会绕过一个小时。

2 个答案:

答案 0 :(得分:0)

尝试将您的查询更改为以下内容:

SELECT * FROM courses 
WHERE course_all = '1' AND 
(course_hour = 'inactive' 
OR (course_hour = 'active' AND cdate > DATE_ADD(CURDATE(), INTERVAL - 1 HOUR)));

答案 1 :(得分:0)

试试这个

 SELECT * FROM courses 
WHERE course_all = '1' AND 
(course_hour = 'inactive' 
OR (course_hour = 'active' AND cdate > DATE_SUB(NOW(), INTERVAL 1 HOUR)));