请问一个统计的SQL的写法

请教一个统计的SQL的写法表的数据:iddata-------------------110011011102...111012001201...1210ID的除了

请教一个统计的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;