2013-08-23 149 views
1

一些底色: ColdFusion9 MSACCESS數據庫排序CFQUERY結果按月

我想創建一個CFChart到表標記closed_tickets數據進行比較。我將今年的數據與去年的數據進行比較,並希望按月進行統計。

我在查詢表格並獲取2012年1月1日至2013年12月31日期間的所有數據,基本上是今年和去年的所有數據。這是查詢。

<!---Query all closed tickets from this year and last year where closed_date GTE #Previous_Year# ---> 

<CFSET previous_year = #CREATEODBCDATETIME("1/1/2012")#> 
<CFSET this_year = #CREATEODBCDATETIME("1/1/2013")#> 

<cfoutput> 
<cfquery name="get_closed_tickets" datasource="#datasource#"> 
select * 
from closed_tickets 
where closed_date >= #previous_year# 
</cfquery> 
</cfoutput> 

<cfoutput> 
Total Records:#get_closed_tickets.recordcount#<br /> 
</cfoutput> 

然後我執行查詢的查詢吐今年和前一年的數據爲2年,:

<!---QoQ - Get Previous Year's Calls ---> 
<cfoutput> 
<cfquery name="previous_year" dbtype="query"> 
select * 
from get_closed_tickets 
where closed_date >= #previous_year# AND closed_date < #this_year# 
</cfquery> 
</cfoutput> 

<!---QoQ - Get This Year's Calls ---> 
<cfoutput> 
<cfquery name="this_year" dbtype="query"> 
select * 
from get_closed_tickets 
where closed_date >= #this_year# 
</cfquery> 
</cfoutput> 

2012 Records:<cfoutput>#previous_year.recordcount#</cfoutput><br /> 
2013 Records:<cfoutput>#this_year.recordcount#</cfoutput><br /><br /> 

我的問題是,我想借此數據和圖表它使用CFChart按月比較每年的數據。理想情況下,我希望有一張圖表比較2013年1月以後的2012年1月,以此類推,每年的每個月。

如何才能做到這一點?

感謝, 布賴恩

回答

0

你爲什麼不 「按組」 使用SQL?

應該是這樣的:

select count(tickets), closed_date 
from get_closed_tickets 
where closed_date >= #previous_year# 
and closed_date < #this_year# 
group by closed_date 

另一個重要的事情。您的查詢中不應使用select *。始終使用列名稱。如果您實際上不需要數據庫表中的所有列,它將會提高性能。