Быстрый SQL вопрос о нескольких месяцах - PullRequest
3 голосов
/ 02 марта 2011
SELECT DISTINCT MonthName(Month([Date])) AS [Month], tblSupportCalls.System, Count(tblSupportCalls.System) AS [Total for System], Year([Date]) AS [Year]
FROM tblSupportCalls
WHERE (((tblSupportCalls.Date) Between Now() And Now()-7) AND ((tblSupportCalls.System) In ('Career Campus','E-PEEP')) AND ((tblSupportCalls.StartTime) Is Not Null) AND ((Hour([StartTime]))>=7))
GROUP BY tblSupportCalls.System, tblSupportCalls.Date;

Всякий раз, когда я указываю, что это дает мне несколько месяцев, как:

July
July
July

Я хочу сказать, что июль всего один раз, и я не могу понять, почему поле повторяется в разные дни. Я просто хочу сказать:

МЕСЯЦ | Система | Тотал Системс | Год

я смотрю на

> MONTH | System | Total Systems | Year
> July      CC           2         2010
> July      CC           7         2010
> July      CC           9         2010
> July      EE           1         2010
> July      EE           2         2010

Должен быть:

MONTH | System | Total Systems | Year
July      CC          18         2010
July      EE          03         2010

Ответы [ 2 ]

3 голосов
/ 02 марта 2011

Вы хотите сгруппировать по году и месяцу вместо tblSupportCalls.Date.

...
GROUP BY tblSupportCalls.System, Year([Date]), Month([Date]);
1 голос
/ 02 марта 2011

Вы все еще группируете результаты по дате, но не по месяцам.Я думаю, что вы хотите что-то вроде этого:

GROUP BY tblSupportCalls.System, Year ([tblSupportCalls.Date]), [Month([tblSupportCalls.Date]);

Я думаю, что вы все еще хотите группировать по годам, так что июль 2010 года появляется в другой строке с июля 2011 года.

...