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