1
我有以下信息的表:
创建唯一的ID
CREATE TABLE TABLE1(
col1 bigint,
col2 TIMESTAMP,
col3 integer
)
一些样本数据
28564635; "2014-03-11 07:02:16+03"; 51
28564635; "2014-03-11 07:06:25+03"; 52
28564635; "2014-03-11 07:13:38+03"; 53
28564635; "2014-03-11 07:21:19+03"; 56
28564636; "2014-03-11 07:01:16+03"; 31
28564636; "2014-03-11 07:06:16+03"; 29
28564636; "2014-03-11 07:37:16+03"; 30
28564636; "2014-03-11 07:39:16+03"; 31
值在col1和col2上整理升序。现在的要求是要追加基于所述条件中的端部的计算列:
- 第一行给定id 1
- 从行2开始,如果以前的行和当前COL2的电流COL1 = COL1 - 以前COL2 < 30则ID将是1(同排1)其他增量编号由1
所以输出会像
28564635; "2014-03-11 07:02:16+03"; 51; 1
28564635; "2014-03-11 07:06:25+03"; 52; 1
28564635; "2014-03-11 07:13:38+03"; 53; 1
28564635; "2014-03-11 07:21:19+03"; 56; 1
28564636; "2014-03-11 07:01:16+03"; 31; 2
28564636; "2014-03-11 07:06:16+03"; 29; 2
28564636; "2014-03-11 07:37:16+03"; 30; 3
28564636; "2014-03-11 07:39:16+03"; 31; 3
如何在不使用游标的情况下在SQL查询中实现这一点。
感谢托马斯。奇迹般有效.. – user3135155