QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

数据库

Mysql解决SELECT list is not in GROUP BY clause and contains nonaggregated column 问题

 shitouadmin  2025-03-31 09:12:37
出现这种报错,网上搜索答案,一般都是让你修改mysql配置,比如:
第一种方案是修改my.cnf文件,但是我的数据库安装目录里根本没有这个文件;
第二种方案是修改sql_mode
  1. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 
虽然可以解决问题,但是这种方案毕竟需要动配置,可能会影响其他网站,所以慎重调整,这种一般都是sql的问题
例如:
  1. select A.*,C.attachment,C.remote,C.id as attid,D.flag,D.id as flagid from (dr_1_products as A left join dr_1_products_flag as D on A.id=D.id ) left join dr_attachment_data as C on A.thumb=C.id where 1=1 AND A.catid IN (9,10,11,12,13) AND A.thumb <>'' GROUP BY A.id order by A.displayorder desc,A.id desc limit 8  
这种联查就会报刚才的错误,究其原因就是 :GROUP BY 子句要确保 SELECT 列表中的非聚合列都包含在 GROUP BY 子句中,或者使用聚合函数
所以刚才的group by 需要改成:
  1. GROUP BY  A.id, C.attachment, C.remote, C.id, D.flag, D.id 
要把所有的列加进去,这样就可以了

¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《Mysql解决SELECT list is not in GROUP BY clause and contains nonaggregated column 问题》发布于石头博客文章,作者:shitouadmin,如若转载,请注明出处:https://www.pweb123.com/html/Database/1102.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序