计算MS Access的问题

时间:2012-12-18 11:13:24

标签: sql ms-access count

以下查询在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())

1 个答案:

答案 0 :(得分:1)

SELECT Sheet1.[Main project], Count(Sheet1.[Name]) AS Total
    FROM Sheet1
    GROUP BY Sheet1.[Main project]

Count()等聚合函数仅在您需要表中所有内容的总计数时自动运行。如果要将其分解为更具体的分组,则需要GROUP BY语句来告诉数据库如何将其分解。

将它集成到较大的查询中应该不是问题:只需注意GROUP BY子句位于WHERE子句之后;因此你应该在最后添加它。