SELECT ID,
StartDate,
EndDate,
ROW_NUMBER() OVER ( Partition by ID
Order by CASE WHEN ABS(DateDiff(MINUTE,StartDate,@ValidationTime)) < ABS(DateDiff(MINUTE,EndDate,@ValidationTime))
THEN ABS(DateDiff(MINUTE,StartDate,@ValidationTime))
ELSE ABS(DateDiff(MINUTE,EndDate,@ValidationTime))
END
) AS SEQ
FROM @table