ACCESS 试图执行的查询中不包含作为聚合函数一部分的特定表达式

这是为什么 该怎么解决
2024-11-23 02:03:45
推荐回答(4个)
回答1:

就是查询语句的函数不正确,正确的格式如下

有count函数必然是汇总查询,需要分组。

SELECT GRADE.身份证号, GRADE.姓名, Count(GRADE.考试月份) AS 考试次数

FROM GRADE INNER JOIN REGI ON GRADE.身份证号 = REGI.身份证号

GROUP BY GRADE.身份证号, GRADE.姓名

扩展资料

(1) 数据记录筛选:

sql="select * from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列。默认升序ASC)

sql="select * from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"

sql="select top 10 * from 数据表 where字段名=字段值 order by 字段名 [desc]"

sql="select top 10 * from 数据表 order by 字段名 [desc]"

sql="select * from 数据表 where字段名in ('值1','值2','值3')"

sql="select * from 数据表 where字段名between 值1 and 值2"

参考资料来源:百度百科-SQL语句大全

回答2:

ACCESS 试图执行的查询中不包含作为聚合函数一部分的特定表达式,是设置错误造成的,解决方法如下:

1、首先打开ACCESS数据库,选择创建查询设计按钮。

2、然后在弹出对话框分别双击tEmployee和tGroup。

3、然后分别双击字段"编号"、"姓名"、"职务"和"聘用时间",和名称。

4、然后在名称字段输入条件开发部。

5、然后在一个新的字段区域输入公式year(date())-year([聘用时间])。

6、确定后在条件区域输入>5,将名臣和新表达式选择不再显示。

7、最后单击执行按钮,即可看到结果,这样就完成了。

回答3:

这是因为在查询过程中分组条件写的不正确导致。

1、如有以下测试表数据:

2、要求每个公司每个部门各有多少人,如果用这种写法,就会报提问中的错误。

SELECT 公司,部门,count(*) FROM 测试 group by 公司;

3、正确的写法为:

SELECT 公司,部门,count(*) FROM 测试 group by 公司,部门;

4、查询结果:

回答4:

有count函数必然是汇总查询,需要分组。
SELECT GRADE.身份证号, GRADE.姓名, Count(GRADE.考试月份) AS 考试次数
FROM GRADE INNER JOIN REGI ON GRADE.身份证号 = REGI.身份证号
GROUP BY GRADE.身份证号, GRADE.姓名