2016-02-17 111 views
0
SELECT ID, AppID, Description, Min([Transaction Date]) AS Expr1 
FROM AppProsHist 
WHERE [Description]=[Non-Final Rejections] 

我不斷收到錯誤消息編程錯誤:用於聚合函數

試圖執行一個查詢,不包括指定 表達「ID」作爲集合功能的一部分。

它也說它關於「AppID」我該怎麼辦?我一般很困惑。

回答

0

對於所有非聚合列,您需要一個GROUP BY子句。 這可能看起來像這樣的查詢:

SELECT ID, AppID, Description, Min([Transaction Date]) AS Expr1 
FROM AppProsHist 
WHERE [Description]='Non-Final Rejections' 
GROUP BY ID, AppID, Description 

然而,沒準這不會得到你想要的結果,因爲描述可以爲每一行非常獨特。因此,您可能還希望從查詢中排除「說明」,除非它的唯一性足以在此。

另請參閱MySQL Reference for GROUP BY (Aggregate) Function DescriptionsMSDN Reference for Aggregate Functions

+0

現在會彈出一個消息,要求非最終拒絕的參數值。他們想讓我把什麼放在那裏?我覺得這只是一個訪問問題。 – Johnfun10

+0

您是否像以前一樣使用單引號:'非最終拒絕'與我在答案中所做的一樣?否則會提示您指定描述的值。 –

+0

好的。這工作。 – Johnfun10

0

使用MIN(或MAX,或AVG等)函數,您正在使用所謂的聚合函數。簡而言之,這些功能一次可處理多個記錄。但是,它們不能在一條記錄上工作(並拋出上述異常),因爲一條記錄的MIN總是相同的。

無論何時使用任何類型的分組或聚合,查詢中的所有項目也必須是聚合函數或分組的一部分。如下:

SELECT ID, AppID, Description, Min([Transaction Date]) AS Expr1 
FROM AppProsHist 
WHERE [Description]=[Non-Final Rejections] 
GROUP BY ID, AppID, Description