Declare @StartTime datetime, @EndTime datetime, @Total intSELECT Client, datepart(hh, YourDate) HourNumber, SUM([NumRows]) VRowCountINTO #1FROM YourTableWHERE YourDate BETWEEN @StartTime and @EndTimeGROUP BY Client, datepart(hh,YourDate)SET @Total = (SELECT SUM(VRowCount) FROM #1)SELECT Client, HourNumber, VRowCount, @Total TotalRowsFROM #1
SELECT CASE WHEN client IS NOT NULL AND hourSegment IS NULL THEN 'Client Total' ELSE CAST(hourSegment AS VARCHAR) END, [No of Rows], CASE WHEN client IS NULL AND hourSegment IS NULL THEN 'Grand Total' ELSE client END AS clientFROM (SELECT LEFT(CONVERT(VARCHAR(30), [datetime], 20), 13) AS hourSegment, client, SUM([no. of rows]) AS [No of Rows]FROM myTableGROUP BY LEFT(CONVERT(VARCHAR(30), [datetime], 20), 13), client WITH ROLLUP)x