2016-06-08 72 views
0

試圖解決以下問題,並認爲我已經嘗試了COUNT GROUP的每個組合,並且在哪裏訂購我可以想到並且沒有運氣。FileMaker SQL根據計算得到的行數計算MonthYear

有一個表,這些列:

Date  MonthYear  JobStatus  JobType 

最終的輸出,我需要根據上面的表格列:
我在尋找的結果是每個MonthYear/JobStatus GROUP行數,JobType是「X」,日期在兩個日期之間。哦,它需要由Date ASC訂購。

我有什麼企圖迄今:
所以我試過各種 - 但在我看來邏輯的做法是:

SELECT MonthYear, JobStatus, Count(*) 
FROM Jobs 
WHERE Date > '5/1/15' AND Date < '9/31/15' AND JobType = 'X' 
GROUP BY MonthYear, JobStatus 
ORDER BY Date ASC 

預期輸出:

May 15|Ready for Submission|1 
May 15|Submitted to b|1 
May 15|Approved|10 
Jun 15|Ready for Submission|1 
Jun 15|Approved|46 
Jun 15|Submitted to b|11 
Jun 15|Submitted to a|1 
Jul 15|Submitted to a|1 
Jul 15|Submitted to b|13 
Aug 15|Submitted to b|36 
Aug 15|Chasing Paperwork|1 
Aug 15|Submitted to a|2 
Aug 15|Approved|2 
Sep 15|Chasing Paperwork|1 
Sep 15|Submitted to a|2 

但這只是導致錯誤。任何幫助非常感謝 - 在這最後一天半了!

+0

什麼是你所得到的錯誤,我沒有看到與您的查詢 – TheGameiswar

+0

好當的FileMaker計算它,我只是得到任何問題「?」 –

+0

我現在有錯誤描述:SELECT列表和HAVING子句中的所有非聚合列引用都必須位於GROUP BY子句中。 –

回答

0

感謝TheGameiswar我查找了導致我找到隱藏的sql.debug函數的錯誤描述。快速谷歌的錯誤代碼和第一個結果描述了你不能在同一個查詢中使用GROUP和ORDER。猜猜GROUP做排序。至少在FileMaker中,它擁有自己獨特的SQL實現。無法對任何其他版本說話。使作品產生的查詢是:

SELECT ScheduledMonthYear, JobStatus, COUNT(*) 
FROM Jobs 
WHERE ScheduledDate > ? AND ScheduledDate < ? AND JobType = ? 
GROUP BY ScheduledMonthYear, JobStatus 
+0

我現在唯一的問題是,結果列表按月份名稱按字母順序排列..這仍然是一個問題。 –

+0

現在,因爲我沒有看到有任何簡單的方法可以在SQL中執行此操作,所以將MonthYear更改爲20165而不是5月16日,這可以正確排序。 –