【发布时间】:2013-03-18 18:37:46
【问题描述】:
对于这个例子,假设我有一个包含两个字段的表,AREA varchar(30) 和 OrderNumber INT。
表格有以下数据
AREA | OrderNumber
Fontana | 32
Fontana | 42
Fontana | 76
Fontana | 12
Fontana | 3
Fontana | 99
RC | 32
RC | 1
RC | 8
RC | 9
RC | 4
我想返回
我想返回的结果是每个区域的最长连续值增加的长度。对于Fontana it is 3 (32, 42, 76)。 For RC it is 2 (8,9)
AREA | LongestLength
Fontana | 3
RC | 2
如何在 MS Sql 2005 上执行此操作?
【问题讨论】:
-
按什么顺序增加? SQL 中没有固有的行顺序,您向我们展示的两列都不是合适的候选者。
-
抱歉,我忘了添加 eventtime 列,它是我们订购的日期时间。如果我按 AREA,OrderNumber 排序,则输出会这样。然后我想找到连续增加 OrderNumbers 的最长块
-
@Pat Rick Allen - 请根据您的上述说明更新您的帖子。
标签: sql sql-server