2011-03-01 78 views
3
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; 

每當我輸入的是它給了我多個月,如:快速SQL問題日期

July 
July 
July 

我希望它只是說七月僅有1點時,我無法弄清楚,爲什麼永遠場重複不同的日子。我只想說:

MONTH |系統|總系統|我所期待的一年

> 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 

回答

3

你會通過你的年和月,而不是tblSupportCalls.Date想組。

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

展示了你可以張貼一個你在談論喬的例子。我已經嘗試過,但我可能輸入了錯誤 – Alex 2011-03-01 21:54:16

+0

@Alex:我已將group by子句添加到我的答案中。 – 2011-03-01 21:57:08

+0

需要按3個字段分組。另外,groupname中不需要monthname,它可以在select中針對分組'month(date)' – RichardTheKiwi 2011-03-01 21:57:44

1

您仍然按日期對結果進行分組,但不是按月份。我想你想要的是這樣的:

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

我想你還是要通過組年度爲好,使2010年7月在不同的行從2011年7月