MySQLSyntaxErrorException: In aggregated query without GROUP BY聚合查询语法异常

MySQLSyntaxErrorException: In aggregated query without GROUP BY,this is incompatible with sql_mode=only_full_group_by

报错信息

[FlowName=com.primeton.esb.ciec_http2jms.restaurant.ms.http2jms.mediaService.mediaService.biz][activity name=验重][activity id=invokePojo3][exception=com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'esb8.sam_check_repeat.id'; this is incompatible with sql_mode=only_full_group_by]
[default][2022-08-22 14:14:06,116][ERROR][com.primeton.esb.mediation.exception.ExceptionMessageUtil:57] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'esb8.sam_check_repeat.id'; this is incompatible with sql_mode=only_full_group_by
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1915)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2023)
	at com.primeton.esb.ciec_http2jms.Repeat.repeat(Repeat.java:78)
	at com.primeton.esb.ciec_http2jms.restaurant.ms.http2jms.mediaService.mediaService_biz.invokePojo3(mediaService_biz.java:351)
	at com.primeton.esb.ciec_http2jms.restaurant.ms.http2jms.mediaService.mediaService_biz.__choiceinvokePojo3(mediaService_biz.java:692)
	at com.primeton.esb.ciec_http2jms.restaurant.ms.http2jms.mediaService.mediaService_biz.__invokeBiz(mediaService_biz.java:581)
	at com.primeton.esb.ciec_http2jms.restaurant.ms.http2jms.mediaService.mediaService_biz._invoke(mediaService_biz.java:480)
	at com.primeton.esb.ciec_http2jms.restaurant.ms.http2jms.mediaService.mediaService_biz.invoke(mediaService_biz.java:524)
	at com.primeton.engine.core.impl.process.BLProxy.asynInvoke(BLProxy.java:465)
	at com.primeton.engine.component.impl.OperationAccessor.invoke(OperationAccessor.java:228)
	at com.primeton.ext.engine.component.OperationAsyn.asynInvoke(OperationAsyn.java:33)
	at com.primeton.engine.component.impl.LogicCompoment.invokeAsyn(LogicCompoment.java:270)
	at com.primeton.access.client.impl.skeleton.BizLogicReceiveTarget.invoke(BizLogicReceiveTarget.java:64)
	at com.primeton.access.client.impl.skeleton.ServiceEngine.receive(ServiceEngine.java:36)
	at com.primeton.access.client.impl.skeleton.DefaultServiceSkeleton.invokeService(DefaultServiceSkeleton.java:130)
	at com.primeton.access.client.impl.skeleton.DefaultServiceSkeleton.invoke(DefaultServiceSkeleton.java:32)
	at com.primeton.access.client.impl.ClientMessageInterceptor.invoke(ClientMessageInterceptor.java:57)
	at com.primeton.system.aop.impl.HandlerInvoker.invoke(HandlerInvoker.java:60)
	at com.primeton.system.aop.impl.JdkProxyUtil$JdkInvocationHandlerWrapper.invoke(JdkProxyUtil.java:53)
	at com.sun.proxy.$Proxy172.invokeAsyn(Unknown Source)
	at com.primeton.esb.mediation.model.MediationService.invokeLogicFlow(MediationService.java:142)
	at com.primeton.esb.mediation.model.MediationService.messageRequest(MediationService.java:119)
	at com.primeton.esb.mediation.model.MediationService$Media_RequestHandler.handleMessage(MediationService.java:250)
	at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:104)
	at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:47)
	at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:86)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


解决方案

select查询中使用的聚合函数如count(1),同时将多余的字段也放在查询中了,导致mysql弄不清聚合函数和字段的分组关系。
①去除多余字段
②去除聚合函数
③将字段放入分组group by中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值