• I had to remove unitprice from the orderby to get deduplicated results.

    declare @TempTable table (itemnumber int, unitprice decimal(18, 2));

    insert into @TempTable values

    (777, 10.10),

    (777, 11.11),

    (777, 12.12),

    (888, 13.13),

    (888, 14.14),

    (888, 15.15),

    (999, 16.16),

    (999, 17.17),

    (999, 18.18);

    with GetMissingItems(Rank, RowNumber, ItemNumber, UnitCost) as

    (

    select

    RANK() over (order by ItemNumber) as Rank,

    ROW_NUMBER() over (order by ItemNumber) as RowNumber,

    itemnumber,

    unitprice

    from @TempTable

    ) select * from GetMissingItems

    where Rank = RowNumber;