Reputation: 209
I have a query:
SELECT
(CONVERT (DATE, mrSUBMITDATE)) as 'Date',
SUM(CASE WHEN Submission__bTracking = 'Email' THEN 1 ELSE 0 END) as SubmittedbyEmail,
SUM(CASE WHEN Submission__bTracking = 'Phone' THEN 1 ELSE 0 END) as SubmittedbyPhone,
SUM(CASE WHEN Submission__bTracking = 'Verbal' THEN 1 ELSE 0 END) as SubmittedbyVerbal,
SUM(CASE WHEN Submission__bTracking = 'Web' THEN 1 ELSE 0 END) as SubmittedbyWeb
FROM
MASTER30
WHERE
mrSUBMITDATE >= (CONVERT (DATE, '2015-01-01'))
AND mrSUBMITDATE < (CONVERT (DATE, '2015-02-01'))
GROUP BY
mrSUBMITDATE
ORDER BY
mrSUBMITDATE
That produces the following result:
Date SubmittedbyEmail SubmittedbyPhone SubmittedbyVerbal SubmittedbyWeb
2015-01-01 0 0 1 0
2015-01-01 0 0 1 0
2015-01-01 1 0 0 0
2015-01-01 0 1 0 0
2015-01-01 0 0 0 1
2015-01-01 0 0 1 0
2015-01-01 0 0 0 1
2015-01-01 0 0 1 0
<<snipped>>
I want to be able to consolidate so that the totals appear for each day, instead of multiple rows for each day shows up. Could someone help me out?
Thanks very much.
Upvotes: 1
Views: 33
Reputation: 125620
Make your GROUP BY
use the same CONVERT
call as you have in SELECT
clause:
SELECT
(CONVERT (DATE, mrSUBMITDATE)) as 'Date',
SUM(CASE WHEN Submission__bTracking = 'Email' THEN 1 ELSE 0 END) as SubmittedbyEmail,
SUM(CASE WHEN Submission__bTracking = 'Phone' THEN 1 ELSE 0 END) as SubmittedbyPhone,
SUM(CASE WHEN Submission__bTracking = 'Verbal' THEN 1 ELSE 0 END) as SubmittedbyVerbal,
SUM(CASE WHEN Submission__bTracking = 'Web' THEN 1 ELSE 0 END) as SubmittedbyWeb
FROM MASTER30
WHERE mrSUBMITDATE >= (CONVERT (DATE, '2015-01-01'))
AND mrSUBMITDATE < (CONVERT (DATE, '2015-02-01'))
GROUP BY (CONVERT (DATE, mrSUBMITDATE))
ORDER BY mrSUBMITDATE
Upvotes: 3