This is what I have tried and is running as expected
create table #temp
    (
           iden int identity(1,1),
           ID int,
           [rank] int,
           [date] date,
           dr_id int,
           rownum_id int,
           grouprecord int
    )
    Insert into #temp(id,rank,date)
    select 1 , 7  ,'07/08/2015'
    union all select  1 , 7  ,'09/08/2015'
    union all select  1 , 8  ,'08/16/2015'
    union all select  1 , 8  ,'08/17/2015'
    union all select  1 , 7  ,'08/19/2015'
    union all select  1 , 7  ,'08/15/2015'
    union all select  2 , 7  ,'08/01/2015'
    union all select  2 , 7  ,'08/02/2015'
    union all select  2 , 8  ,'08/16/2015'
    union all select  2 , 8  ,'08/17/2015'
    union all select  2 , 7  ,'08/26/2015'
    union all select  2 , 7  ,'08/28/2015'
    update t1
    set dr_id = t2.rn
    from #temp t1 inner join
    (select  iden, dense_rank() over(order by id) as rn from #temp) t2
    on t1.iden = t2.iden
    update t1
    set rownum_id = t2.rn
    from #temp t1 inner join
    (select  iden, row_number() over(partition by dr_id order by id) as rn from #temp) t2
    on t1.iden = t2.iden
    select *,row_number() over(order by iden)rn into #temp1 from
    (             
                         select t2.* 
                  from #temp t1 inner join #temp t2
                  on (t1.dr_id = t2.dr_id or t2.dr_id = (t1.dr_id +1) ) and ( t1.rank<>t2.rank or t2.dr_id = (t1.dr_id +1) )
                  and t2.iden = t1.iden  + 1
    )a
    declare @id int,@miniden int,@maxiden int,@maxid int
    set @id = 1
    select @maxid = max(iden) from #temp
    while exists(select 1 from #temp1 where rn = @id)
    begin
           Select @miniden = iden from #temp1
           where rn = @id
           Select @maxiden = iden from #temp1
           where rn = @id+1
           update #temp
           set grouprecord = @id +1
           where iden between @miniden and @maxiden
    IF(@maxiden IS NULL)
    BEGIN 
           Update #temp
           set grouprecord = @id +1
           where iden between @miniden and @maxid
    END
           set @id = @id + 1
           SET @miniden =NULL
           SET @maxiden = NULL
    end
    UPDATE #TEMP
    SET GROUPRECORD = 1
    WHERE GROUPRECORD IS NULL
    select min(date) as mindate,grouprecord from #temp
    group by grouprecord
Thanks everyone the help :)