试图执⾏的查询中不包含作为合计函数⼀部分的特定表达式的解
决⽅法
ACCESS错误:试图执⾏的查询中不包含作为合计函数⼀部分的特定表达式的解决⽅法
说明:所有来源为程序⾷堂的⽂章均为原创,如有转载,请在转载处标注本页地址,谢谢!
今天在Access中查询表中最⼤值时,出现了"试图执⾏的查询中不包含作为合计函数⼀部分的特定表达式"错误,我的SQL语句如下:
select top 10 max(id) from article order by id desc
仔细检查SQL语句,并未没有错误,然后把该语句放⼊到SQL SERVER中执⾏,也能正确返回结果。真的很⽆奈了,在⽹上搜索解决⽅法,原来,在ACCESS中,如果语句中包含有聚合函数,那么语句select中除了聚合函数列外,其它所有列⼀定要在group by中。
改写查询语句:
access例句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
等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论