当前位置: 代码迷 >> Oracle开发 >> 请问一个统计的SQL的写法
  详细解决方案

请问一个统计的SQL的写法

热度:39   发布时间:2016-04-24 07:52:09.0
请教一个统计的SQL的写法
表的数据:
id                   data
-------------------
1                       100
1                       101
1                       102
...
1                       110              
1                       200
1                       201
...
1                       210

ID的除了1以外还有2,3等,很多.

我想得到的结果是
id               start                     end
-------------------------------
1                   100                       110
1                   201                       210
...

就是说把连续的一段给取出来,作为一条记录

------解决方案--------------------
如果同一id的data不重复,可以这样写
select id, min_data, max_data
from (select id, data-r data_r, min(data) min_data, max(data) max_data
from (select id, data, rank() over(partition by id order by data) r from T)
group by id, data-r)
order by 1,2;


  相关解决方案