MySQL查询如何显示相反的结果

MySQL查询如何显示相反的结果,mysql,Mysql,我在PHP代码中使用此SQL查询: SELECT * FROM maintenance WHERE from_date <= DATE_ADD(NOW(), INTERVAL 5 DAY) AND to_date >= DATE(NOW()) ORDER BY from_date ASC 它在“开始日期”字段前5天显示行。因此,基本上,由于日期尚未过去,维护仍在等待中的行 我希望能够显示oposite结果。因此,如果可能,完成维护的所有行?您可以排除

我在PHP代码中使用此SQL查询:

SELECT
   *
FROM
   maintenance
WHERE
   from_date <= DATE_ADD(NOW(), INTERVAL 5 DAY)
   AND to_date >= DATE(NOW())
ORDER BY 
   from_date ASC
它在“开始日期”字段前5天显示行。因此,基本上,由于日期尚未过去,维护仍在等待中的行


我希望能够显示oposite结果。因此,如果可能,完成维护的所有行?

您可以排除这些结果:

SELECT
   * 
FROM
   maintenance
WHERE id NOT IN (SELECT
                   id
                 FROM
                   maintenance
                 WHERE
                   from_date <= DATE_ADD(NOW(), INTERVAL 5 DAY)
                   AND to_date >= DATE(NOW())
                 )
ORDER BY 
   from_date ASC
或者简单地说,在原始查询中否定条件。

您不能只添加和到日期!='0000-00-00:00:00'到WHERE子句,以停止显示未完成的作业?