引子:今天我在一条sql语句中增加了两个输出字段 ,调试程序时出现这个错误,查网络得到这个文章。按照规则修改后通过。
原来的group by从句:group by jcryzz.姓名
修改后group by从句:group by jcryzz.姓名,xcryk.部门,xcryk.班组
转自:http://www.lmwlove.com/ac/ID654
今天在Access中查询表中最大值时,出现了"试图执行的查询中不包含作为合计函数一部分的特定表达式"错误,我的SQL语句如下:
select top 10 max(id) from article order by id desc
仔细检查SQL语句,并未没有错误,然后把该语句放入到SQL SERVER中执行,也能正确返回结果。真的很无奈了,在网上搜索解决方法,原来,在ACCESS中,如果语句中包含有聚合函数,那么语句select中除了聚合函数列外,其它所有列一定要在group by中。
改写查询语句:
select top 10 max(id) from article group by id order by id desc
执行成功.
如果朋友看的够仔细,也许你已经看出了问题,上面讲到的"如果语句中包含有聚合函数,那么语句select中除了聚合函数列外,其它所有列一定要在group by中",而我的例句"select top 10 max(id) from article order by id desc"中并没有包括其它列,为什么也要加group by呢?经测试后发现,原来是因为我加了order by id desc排序条件的原因,如果不加该排序条件,语句"select top 10 max(id) from Article"也是可以执行成功的。
一直都很少用Access,现在才发现Access与Sql Server比起来还真麻烦。
附:在Access同样需要添加group by的其它函数语句:
select min(id) from article group by id order by id desc
select count(id) from article group by id order by id desc
select sum(id) from article group by id order by id desc
等。
本文来源于:http://www.lmwlove.com/ac/ID654
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步