我有2列的表:
id (int not null, auto_incremented), and insert_date (date)
。
该表是从外部来源,有时充满,我没有对数据的控制。
不时它发生的ID值不是由日期给出正确的顺序。我怎样才能找到这些anomalities?
错误的数据的实施例:
1, 2014-02-03
2, 2014-02-01 <<<< WRONG! It should be between 2014-02-03 and 2014-02-04
3, 2014-02-04
4, 2014-02-04
5, 2014-03-01
您可以使用这样的查询:
SELECT DISTINCT
t1.*
FROM
tablename t1 INNER JOIN tablename t2
ON t1.id>t2.id
WHERE
t1.datefield<t2.datefield
然而,真的是没有在“错误”订单日期,因为你总是可以通过日期列的顺序问题。
请参阅小提琴here。