我发现了answers到questions非常similar的各种例子。出于某种原因,我无法让我的查询工作。
我做错了什么?
我希望返回前5个结果,最后一行显示的所有其他行为“其他”。
这是我的SQL语法:
SELECT TOP 5 tbl_MopoRohdaten.rating_clir, Sum(tbl_MopoRohdaten.c2_eop_weight) AS SumOfc2_eop_weight
FROM tbl_MopoRohdaten
WHERE tbl_MopoRohdaten.rating_clir
NOT IN
(EXISTS(SELECT TOP 5 tbl_MopoRohdaten.rating_clir, Sum(tbl_MopoRohdaten.c2_eop_weight) AS SumOfc2_eop_weight FROM tbl_MopoRohdaten))
GROUP BY tbl_MopoRohdaten.rating_clir;
当我运行它时,我收到一条错误声明告诉我:
您尝试执行不包含指定的查询 表达式'rating_clir'作为聚合函数的一部分。
更新
我调整了代码以反映Balnian的输入,但是现在Access(整个应用程序)只要我尝试运行它就会关闭并崩溃!
SELECT TOP 5 tbl_MopoRohdaten.rating_clir, Sum(tbl_MopoRohdaten.c2_eop_weight) AS SumOfc2_eop_weight
FROM tbl_MopoRohdaten
WHERE tbl_MopoRohdaten.rating_clir
NOT IN
(EXISTS(SELECT TOP 5 tbl_MopoRohdaten.rating_clir,Sum(tbl_MopoRohdaten.c2_eop_weight) AS SumOfc2_eop_weight
FROM tbl_MopoRohdaten GROUP BY y tbl_MopoRohdaten.rating_clir))
GROUP BY tbl_MopoRohdaten.rating_clir;
答案 0 :(得分:0)
您查询的现有部分中的select缺少必需的group by
,因为您在查询中返回了SUM()和普通列
EXISTS(SELECT TOP 5 tbl_MopoRohdaten.rating_clir,
Sum(tbl_MopoRohdaten.c2_eop_weight) AS SumOfc2_eop_weight FROM
tbl_MopoRohdaten)
应该(未经测试)
EXISTS(SELECT TOP 5 tbl_MopoRohdaten.rating_clir,Sum(tbl_MopoRohdaten.c2_eop_weight) AS SumOfc2_eop_weight
FROM tbl_MopoRohdaten group by tbl_MopoRohdaten.rating_clir)