something like thisDECLARE @category TABLE (userid VARCHAR(100), time_from INT, time_to INT)INSERT INTO @category SELECT 'cat1 ck', 8, 10UNION ALL SELECT 'cat2 ck', 11, 18UNION ALL SELECT 'cat1 ck', 12, 16UNION ALL SELECT 'cat3 gg', 12, 14UNION ALL SELECT 'cat1 gg', 11, 15UNION ALL SELECT 'cat3 gg', 17, 19SELECT DISTINCT userid , SUM(time_to - time_from) OVER (PARTITION BY userid) AS 'TotalDiff' , STUFF(( SELECT '+(' + CONVERT(VARCHAR(10), time_to) + '-' + CONVERT(VARCHAR(10), time_from) + ')' FROM @category WHERE userid = C.userid FOR XML PATH('')), 1, 1, '') AS 'Path' , COUNT(userid) OVER (PARTITION BY userid) AS 'Count'FROM @category C"There is only one difference between a dream and an aim.A dream requires soundless sleep to see,whereas an aim requires sleepless efforts to achieve..!!"