I'm not sure I understand how youa re grouping the rows into groups of two, but maybe this works?DECLARE @Foo TABLE (User_ID BIGINT, Time_stamp DATETIME)INSERT @FooSELECT 2454558665777080000, '1/8/2010 16:19:56'UNION ALL SELECT 2454558665777080000, '1/8/2010 16:19:57'UNION ALL SELECT 2454558665777080000, '1/8/2010 16:19:38'UNION ALL SELECT 2454558665777080000, '1/8/2010 16:19:38'UNION ALL SELECT 2481340376380600000, '1/12/2010 10:53:52'UNION ALL SELECT 2481340376380600000, '1/12/2010 10:53:53'UNION ALL SELECT 2481340376380600000, '1/12/2010 10:54:47'UNION ALL SELECT 2481340376380600000, '1/12/2010 10:54:47'UNION ALL SELECT 2481340376380600000, '1/12/2010 10:54:47'UNION ALL SELECT 2481340376380600000, '1/12/2010 10:54:47'SELECT A.User_ID, CASE WHEN A.RowNum % 2 = 0 THEN A.Time_stamp ELSE CASE WHEN DATEDIFF(SECOND, A.Time_stamp, B.Time_stamp) >= 10 THEN B.Time_stamp ELSE A.Time_Stamp END END AS Time_stampFROM( SELECT User_ID, Time_Stamp, ROW_NUMBER() OVER (PARTITION BY User_ID ORDER BY Time_Stamp) AS RowNum FROM @Foo) AS ALEFT OUTER JOIN( SELECT User_ID, Time_Stamp, ROW_NUMBER() OVER (PARTITION BY User_ID ORDER BY Time_Stamp) AS RowNum FROM @Foo) AS BON A.User_ID = B.User_IDAND A.RowNum = B.RowNum - 1