这是我的问题:
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'
但最近创建的结果的所有结果,并且在创建后不会绕过一个小时。
答案 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)));