表格如下:
ID          Account         pro_id  m_time (ID ,示数,表编号,时间)1                   1              a01          2019-05-01
2                  1               a01          2019-05-02
3                  3               a01          2019-05-03
4                  23               a01          2019-05-04
5                4              a01          2019-05-05
6                5              a01          2019-05-06如,ID=4的数据肯定是不正常的,account应该是正常增长,ID=5、6此时的数据是正确的。如果通过查询,把ID=4或者更多的错误找出来。
当然,还有不同的pro_id,表示不同的表,也就是说,要找出所有表的异常数据

解决方案 »

  1.   

    如果我没有理解错您说的异常数据,应该是这样的。
    如果ID和Account,都是数字类型的字段,那么可以把以下所有的 + 0 统统去掉。
    SELECT * FROM (SELECT t.*,(SELECT COUNT(0) c FROM table_name tt WHERE tt.ID + 0 > t.ID + 0 AND tt.Account + 0 < t.Account + 0) FROM table_name t ) t WHERE t.c > 0 ;
      

  2.   

    补充说明一下:按时间排序,如果account的值是顺序增长,说明是正常的,如果是上下跳动说明异常