Sre*_*ree 6 oracle group-by gaps-and-islands
我在 Oracle 表中有如下数据:
PROJ_NBR STATUS START_DT
AL20 AC 1/14/2010 4:31
AL20 AC 1/14/2010 4:32
AL20 AC 1/14/2010 4:32
AL20 DE 1/14/2010 4:34
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 DE 1/14/2010 4:46
AL20 AC 3/4/2010 4:31
AL20 AC 3/4/2010 4:39
AL20 AC 3/21/2010 13:24
AL20 AC 2/4/2011 13:54 --year changes here
AL20 AC 2/4/2011 14:14
AL20 AC 2/4/2011 14:27
AL20 DE 2/11/2011 16:24
Run Code Online (Sandbox Code Playgroud)
我们的表有 2,091,348 行。
我想要如下数据...
PROJ_NBR STATUS BEGIN END
AL20 AC 1/14/2010 4:31 1/14/2010 4:32
AL20 DE 1/14/2010 4:34 1/14/2010 4:46
AL20 AC 3/4/2010 4:31 2/4/2011 14:27 --Second time range for AL20, AC
AL20 DE 2/11/2011 16:24 2/11/2011 16:24
Run Code Online (Sandbox Code Playgroud)
SELECT PROJ_NBR, STATUS, MIN(START_DT) AS _BEGIN, MAX(START_DT) AS _END
FROM MYTABLE GROUP BY PROJ_NBR, STATUS;
Run Code Online (Sandbox Code Playgroud)
为什么 _?因为BEGIN和END是保留字。
| 归档时间: |
|
| 查看次数: |
670 次 |
| 最近记录: |