首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >随着每个ID的参数变化而连续计数增加

随着每个ID的参数变化而连续计数增加
EN

Stack Overflow用户
提问于 2019-05-31 15:42:35
回答 1查看 1.8K关注 0票数 3

我有一个数据集,其中一个ID有12个不同的值,还有起始值和结束值。我想初始化的是把开始值作为循环的开始参数,结束值作为最后一个参数。根据它们搜索谷值,并找到第一个连续增加的值。

下面我发布了一个示例数据集:

代码语言:javascript
复制
create table #sample_data(
ID  VARCHAR(10), val1 INT, val2 INT, val3 INT, val4 INT, val5 INT, val6 INT, val7 INT, val8 INT, val9 INT, val10 INT, val11 INT, val12 INT, startValue INT, endValue INT  
);

insert into #sample_data values
    (1001,3,2,1,0,1,2,3,0,0,0,0,0,1,7),
    (1002,1,2,3,4,0,0,0,1,2,3,0,0,1,12),
    (1003,0,3,2,1,0,0,0,0,0,0,0,0,1,12),
    (1004,0,1,2,3,4,0,0,0,0,0,0,0,3,9),
    (1005,1,1,1,1,2,3,2,2,1,1,0,0,1,8);

这就是我期望的结果:对于ID = 1001,我的startValue是1,end是7,算法将通过从val1到val7来比较每个val与下一个val,并计数递增,直到它结束。在这种情况下,对于1001,它将是0,因为系列将以递减开始。对于ID 1002,它也将是3(从val1到val4,当出现递减时,它将在val5处停止)对于ID 1003,它将是1,因为ID 1004的开头只有一个递增。对于ID 1005,它将是2,因为它从3开始,在val9结束。对于ID 1005,它将是2,这是从val4到val6的递增

我曾尝试使用写游标来执行此操作,但由于我有超过300K行的数据,因此需要数小时才能执行。如果你有任何更好的建议(不使用光标),我将非常感谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56390789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档