以下查询在MS Access中运行良好,但我实际上只想获取主项目字段加上Name的计数。类似的东西:
SELECT Sheet1.[Main project], Count(Sheet1.[Name]) AS Total
当我这样做时,我收到以下错误:
“您尝试执行的查询不包含指定表达式'Main project'作为聚合函数的一部分'
我在加入时做错了什么?知道什么是不正确的吗?
SELECT Sheet1.[Main project], Sheet1.[Main link], Sheet1.[Name]
FROM Sheet1
INNER JOIN Sheet1 AS Sheet1_1
ON (Sheet1.[Main link] = Sheet1_1.[Main link]
AND Sheet1.[Main project] = Sheet1_1.[Main project])
WHERE Sheet1_1.[Name] ='0.4 Rollout plan approved'
AND Sheet1_1.[%compl#] = 100
AND (Sheet1_1.[Task class] <> '***Sammelvorgang' AND Sheet1_1.[Task class] <> '' AND Sheet1_1.[Task class] <> 'M D-Muster')
AND Sheet1.[Main project] = 'AUDI AG, Ingolstadt'
AND (Sheet1.[Task class] <> '***Sammelvorgang' AND Sheet1.[Task class] <> '' AND Sheet1.[Task class] <> 'M D-Muster')
AND (Sheet1.[Name] NOT LIKE '0.*' AND Sheet1.[Name] NOT LIKE '1.*')
AND Sheet1.[Start] < DateAdd("d",-7,Now())
答案 0 :(得分:1)
SELECT Sheet1.[Main project], Count(Sheet1.[Name]) AS Total
FROM Sheet1
GROUP BY Sheet1.[Main project]
Count()
等聚合函数仅在您需要表中所有内容的总计数时自动运行。如果要将其分解为更具体的分组,则需要GROUP BY
语句来告诉数据库如何将其分解。
将它集成到较大的查询中应该不是问题:只需注意GROUP BY
子句位于WHERE
子句之后;因此你应该在最后添加它。