Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“FIELDNAME”不是聚合函数的一部分-Access SQL_Sql_Ms Access - Fatal编程技术网

“FIELDNAME”不是聚合函数的一部分-Access SQL

“FIELDNAME”不是聚合函数的一部分-Access SQL,sql,ms-access,Sql,Ms Access,我试图从我的数据库中选择所有[Operation],并获取每个[Operation]的数据。下面是我尝试使用的SQL代码 出现以下错误: 您试图执行的查询未将指定表达式“op”作为聚合函数的一部分 我的SQL语句: SELECT [op] as [Operation], Sum(count) as [Number of Breakdowns], Sum(td) as [Sum of Time Down] FROM ( SELECT [Operation] as op, Count(*) as

我试图从我的数据库中选择所有[Operation],并获取每个[Operation]的数据。下面是我尝试使用的SQL代码

出现以下错误:

您试图执行的查询未将指定表达式“op”作为聚合函数的一部分

我的SQL语句:

SELECT [op] as [Operation], Sum(count) as [Number of Breakdowns], Sum(td) as [Sum of Time Down]
FROM
(
  SELECT [Operation] as op, Count(*) as count, Sum([Time Down]) as td
  FROM tblDailyDowntimeAssy
  WHERE [Type of Maintenance] = 'Breakdown'
UNION ALL
  SELECT [Operation] as op, Count(*) as count, Sum([Time Down]) as td
  FROM tblDailyDowntimeMach
  WHERE [Type of Maintenance] = 'Breakdown'
);
注:

如果我尝试只使用[Operation]字段而不将其重命名为op,则仍然会发生错误,但只是将“op”更改为“Operation”

  SELECT [Operation], Sum(count) as [Number of Breakdowns], Sum(td) as [Sum of Time Down]
FROM
(
  SELECT [Operation], Count(*) as count, Sum([Time Down]) as td
  FROM tblDailyDowntimeAssy
  WHERE [Type of Maintenance] = 'Breakdown'
  group by [Operation]
UNION ALL
  SELECT [Operation], Count(*) as count, Sum([Time Down]) as td
  FROM tblDailyDowntimeMach
  WHERE [Type of Maintenance] = 'Breakdown'
  group by [Operation]
)
group by Operation;

使用聚合函数时,需要在查询中添加GROUP BY子句。

需要在查询中添加GROUP BY子句

select ..... from tbl_name
group by ....

然后将该字段添加到错误中提到的group by子句中

编辑得好,我正要发布你需要添加该字段才能使其正确,哈哈。非常感谢,这节省了我很多时间。为什么我需要添加group by才能正常工作?您需要group by,因为您正在执行一个需要多行的聚合查询,每个操作一个。@GordonLinoff如果我理解正确的话-我需要group by子句,因为我正在搜索多个聚合查询,查询需要知道它通过什么将数据组合在一起。在本例中,它结合了我的[Operation]字段周围的数据。