表格如下:
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,表示不同的表,也就是说,要找出所有表的异常数据
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,表示不同的表,也就是说,要找出所有表的异常数据
如果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 ;