在特定日期之后查找新值

时间:2015-06-08 13:14:10

标签: mysql

我需要一些帮助来解决这个问题。 我有一个看起来像这样的数据库:

Equipement | Card | SerialNumber | Date     | other | irrelevant | columns
toto1      | aaaa | a1a1a1       | 06/06/15 | efdfd | dfdfdfdfdf | dfdfdf  
toto2      | bbbb | b2b2b2       | 06/06/15 | fdgdf | yztedg erg | raergr
toto1      | aaaa | a1a1a1       | 06/07/15 | sdfsd | zrtyeggae  | dfdfde 
toto2      | bbbb | b2b2b2       | 06/07/15 | gaery | ghffffffff | qaeryh
toto3      | cccc | c3c3c3       | 06/07/15 | gezry | eryefefetu | lgfhg

我正在寻找的是一个在特定日期之后可以找到新值的查询。例如,我希望所有新的值都不在06/06/07的基础上。 因此,查询只返回toto3;cccc;c3c3c3;06/07/15,因为toto1;aaaa;a1a1a1toto2;bbbb;b2b2b2已经在06/06/15的基础上。

我已经用一些脚本解决了我的问题(保存了06/06/15中哈希值的所有值,然后与表的其余部分进行比较),但我几乎可以肯定有一种方法在“简单”的SQL查询中执行此操作。

如果有人能帮助我,我将不胜感激:)

谢谢!

1 个答案:

答案 0 :(得分:2)

SerialNumber似乎是一个"主键"。我们可以使用NOT IN子句。

SqlFiddle:Demo

SELECT * 
FROM Table1
WHERE SerialNumber NOT IN (SELECT SerialNumber
                       FROM Table1
                       WHERE Date <= 'The Date requested')