• Here is another option that appears to work for the given test data:

    CREATE TABLE #Temp

    (TNID INT, TN BIGINT);

    INSERT INTO #Temp

    SELECT 3011170, 4402787100

    UNION ALL SELECT 3011170, 4402787101

    UNION ALL SELECT 3011170, 4402787102

    UNION ALL SELECT 3011170, 4402787103

    UNION ALL SELECT 3011171, 4402787104

    UNION ALL SELECT 3011171, 4402787105

    UNION ALL SELECT 3011175, 4402787118

    UNION ALL SELECT 3011175, 4402787119

    UNION ALL SELECT 3011175, 4405165555

    UNION ALL SELECT 3011175, 4405165556

    UNION ALL SELECT 3011175, 4405165557

    UNION ALL SELECT 3011175, 4405165558

    UNION ALL SELECT 3011175, 4409447976;

    with basedata as (

    select

    TNID,

    TN,

    TN - row_number() over (order by TNID, TN) as grp

    from

    #Temp

    )

    select

    TNID,

    min(TN) as TN1,

    max(TN) as TN2

    from

    basedata

    group by

    grp, TNID

    ;

    go

    drop table #Temp;

    go