MySQL Query如何显示相反的结果

时间:2013-07-04 12:08:46

标签: 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

from_date字段前5天显示行。所以基本上是维护仍在等待的行,因为日期尚未过去。

我希望能够显示相反的结果。那么如果可能的话,维护完成的所有行?

1 个答案:

答案 0 :(得分:0)

您可以排除这些结果:

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

或者简单地说,否定原始查询中的条件。