sql – MS-Access – 您尝试执行不包含指定聚合函数的查询

SELECT SUM(orders.quantity) AS num,fName,surname
FROM author
INNER JOIN book ON author.aID = book.authorID;

我不断收到错误消息:“您尝试执行一个不包含指定表达式”fName“的查询作为聚合函数的一部分,我该怎么办?

解决方法

错误是因为fName包含在SELECT列表中,但不包括在GROUP BY子句中,并且不是聚合函数(Count(),Min(),Max(),Sum()等)的一部分)

您可以通过在GROUP BY中包含fName来解决该问题.但是,你会面对与姓相同的问题.所以把这两个都放在GROUP BY中:

SELECT
    fName,surname,Count(*) AS num_rows
FROM
    author
    INNER JOIN book
    ON author.aID = book.authorID;
GROUP BY
    fName,surname

注意我使用Count(*)你想要的SUM(orders.quantity).但是,订单未包含在查询的FROM部分中,因此您必须先将其包含在Sum()之一的字段之前.

如果您有Access可用,请在查询设计器中构建查询.它可以帮助您了解可能的功能,并应用正确的Access sql语法.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...