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

前端之家收集整理的这篇文章主要介绍了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语法.

猜你在找的MsSQL相关文章