首页 新闻 会员 周边 捐助

求解项目遇到一个小困难 求高手相助?

0
[已关闭问题] 关闭于 2013-11-06 17:21

本人在做一个数据检查系统,数据库里有上百万条数据(每个数据可能都是0到10000的整数,具体啥数据不清楚),现在要检测“有没有连续出现相同或很接近的数值(两个数字不超过5即相似)”。如果连续出现超过10条相似记录就要记录下来ID。因为数据量大,所以想来问问大神们有没有什么高效的做法?

The Kite Runner的主页 The Kite Runner | 初学一级 | 园豆:10
提问于:2013-11-05 15:37
< >
分享
所有回答(2)
0

 题目说连续 => 已经排好序了 => 那么读取的顺序就是单向了 假设第一个数a1 第二个数a2 如此类推

if a(n+1)~a(n+11) in (an-5, an+5)
    print(n);
else
    n++;

 

  

eatpockyboy | 园豆:260 (菜鸟二级) | 2013-11-05 17:51
0

测试了一下,写了个存储过程,取连续个相连数据差大于-5小于5的数据
假设id是连续递增的

1、结果:

 

 

 2、表结构

3、存储过程:

vancegf | 园豆:234 (菜鸟二级) | 2013-11-05 18:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册