【发布时间】:2015-07-20 18:19:21
【问题描述】:
我正在使用 Microsoft Access 2013,我正在尝试将存储在我的 Part 表中的数据按存储在其中的类进行分组。我已经创建了这个查询:
SELECT Part.PartNum, Part.Description, Part.OnHand, Part.Class, Part.Warehouse, Part.Price
FROM Part
GROUP BY Part.Class
ORDER BY Part.PartNum;
上面的 SQL 代码在 Microsoft Access 中出现错误:“您的查询不包括指定的表达式 'PartNum' 作为聚合函数的一部分”。我不确定我做错了什么......我应该为分组创建一个额外的列吗?
这是我的零件表的样子
【问题讨论】:
-
您应该阅读有关分组及其含义的信息。您不能只按列分组并选择其他列。你需要聚合它们
-
拖动选择中的所有字段以成为您的组的一部分...这将起作用。现在你想要平均零件价格还是最低价格?最大限度?删除它并添加 min/max/avg... 为每个字段重复。你确定你不想
order by part.class, part.partnum吗? (首先按类别,然后按零件编号) -
我认为您根本不想在查询中进行分组,因为没有聚合函数(Count、SUM、Min、Max...)。该报告将对您进行分组、排序并创建您的总计。
-
你想做什么?为什么要
GROUP BYpart.class?您如何预期 DB 将GROUP BYpart.class并以某种方式在同一结果集中向您显示part.partnum?