[quote=引用 2 楼 caozhy的回复:]假设你的表叫做t 有两列id和value select id, value from t t1 where abs(t1.value - (select value from t t2 where t1.id = t2.id + 1)) > 某个值
假设你的表叫做t 有两列id和value select id, value from t t1 where abs(t1.value - (select value from t t2 where t1.id = t2.id + 1)) > 某个值
用一阶差分检查。 说的直白点,就是前后两个点相减,形成一个新的数列,这个数列里绝对值大于某个阈值的就是变化点。 举个例子 原始数据: 20,19,22,28,29,21,18,12,11,10,19,20 一阶差分后(第i个原素和i-1元素相减 第1个元素和自己相减) 0,-1,3,6,1,-8,-3,-6,-1,-1,9,1 取绝对值 0,1,3,6,1,8,3,6,1,1,9,1 设定一个阈值,比如5 则一阶差分绝对值大于5的点的ID是 4,6,8,11
1,216
社区成员
55,954
社区内容
加载中
试试用AI创作助手写篇文章吧