SELECT ID, AppID, Description, Min([Transaction Date]) AS Expr1
FROM AppProsHist
WHERE [Description]=[Non-Final Rejections]
我不断收到错误消息:
您尝试执行不包含指定的查询 表达" ID"作为集合函数的一部分。
它还说它" AppID"我该怎么办?我一般都很困惑。
答案 0 :(得分: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 Descriptions和MSDN Reference for Aggregate Functions。
答案 1 :(得分: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