SELECT Distinct MT.TypeDescr , '|' as X,DBkg.LoginDate, '|' AS X,DBkg.LogoutDate , (DATEDIFF(MINUTE,dbkg.LoginDate, DBKG.LogOutDate)) AS Duration FROM dbo.DeletedBookings DBkg with (nolock) INNER JOIN MachineTypes MT with (nolock) on (DBkg.MachineTypeId = MT.MachineTypeId) INNER JOIN Branches Bra with (nolock) on (MT.BranchId = Bra.BranchId) INNER JOIN MachineIP MIP with (nolock) on (BRA.BranchId = MIP.BranchId) WHERE Bra.BranchId = 22 AND DBkg.LoginDate between '6/1/2013' and '5/31/2014 23:59:59' and DATEPART(HOUR,DBkg.LoginDate) >= 12 and DATEPART(HOUR,DBkg.LoginDate) <= 16 and DATEPART(MINUTE,DBkg.LoginDate) >= 00 and DATEPART(MINUTE,DBkg.LoginDate) <= 59 GROUP BY MT.TypeDescr , DBkg.LoginDate, DBkg.LogoutDate ORDER BY MT.TypeDescr , DBKg.LoginDate COMPUTE SUM(DATEDIFF(MINUTE,dbkg.LoginDate, DBKG.LogOutDate) )