首页 > 数据库 >mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column...原因及解决方案

mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column...原因及解决方案

时间:2024-05-11 18:11:14浏览次数:23  
标签:... group mysql contains 报错 mode sql GROUP select

官方解释:ONLY_FULL_GROUP_BY是MySQL数据库提供的一个sql_mode, 通过这个 sql_mode 来保证, SQL语句 “分组求最值” 合法性的检查. 这种模式采用了与 Oracle、DB2 等数据库的处理方式。即不允许 select target list 中出现语义不明确的列.
对于用到 GROUP BY 的 select 语句, 查出来的列必须是 group by 后面声明的列, 或者是聚合函数里面的列有这样一个数据库的表.
因此,这种模式的特点是:

1:只要有聚合函数 sum(),count(),max(),avg() 等函数就需要用到 group by , 否则就会报上面的错误.
2:group by id (id 是主键) 的时候, select 什么都没有问题, 包括有聚合函数.
3:group by role (非主键) 的时候, select 只能是聚合函数和 role ( group by 的字段) , 否则报错

而解决方案,大家则都是给出了相同的方案,修改mysql配置文件,即:

select @@sql_mode;
先查看自己mysql的mode配置,一般不出意外都是:ONLY_FULL_GROUP_BY。

此时,方案就是修改sql_mode:

sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

倘若你通过修改sql能够解决问题而不影响你的结果,那么个人认为最好是优先修改sql。

标签:...,group,mysql,contains,报错,mode,sql,GROUP,select
From: https://www.cnblogs.com/phpran/p/18186964

相关文章

  • C# 使用QuestPDF各种报错,System.IO.FileNotFoundException:“未能加载文件或程序集,Dll
    最近要做一个生成pdf报告的小功能,搜索一番之后,选择了QuestPDF这个库由于我是要在netframework4.8中实现功能,可能使用场景太老了,导致使用过程一波三折,非常的坎坷,折腾了一下午,增长了一些经验,记录下来1,如果你要在netframework4.8框架中使用,就不要自作聪明的用netstandard2.0框架......
  • windows安装metasploit,运行报错处理
    最近给几个windows11的系统安装了metasploit,其中有几个在启动msf时报错D:/metasploit-framework/embedded/framework/1ib/net/dns/resolver.rb:345:in'nameservers=':String,Wrongarguentformat,neitherString,ArraynorIPAddr(ResolverArgumentError)看起来像是dn......
  • Git -- 修改git账号密码后,进行git提交时报错
    修改git账号密码后,进行git提交时报错$gitpushorigindevelopremote:HTTPBasic:Accessdeniedfatal:Authenticationfailedfor'http://xxx/web.git/'重新设置下git信息gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"your......
  • Python-PostgreSQL主键自动填充报错:SAWarning: Column x is marked as a member of th
    importdatetimefromsqlalchemyimportColumn,String,inspect,Integerfromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemy.ormimportsessionmakerfromsqlalchemyimportcreate_engineengine=create_engine(DATABASE_URL)Base=decla......
  • Springboot Data Jdbc中Contains和Containing的用法
    Contains和Containing的用法privateStringtitle;privateList<String>tags;//查询标题包含指定字符串的书籍List<Book>findByTitleContains(Stringtitle);//查询包含指定标签的书籍List<Book>findByTagsContaining(Stringtag);--查询标题包含"Spring"的书......
  • [idea]mvn install没有问题,idea build报错程序包com.alibaba.fastjson不存在
    现象:1、mvninstall没有问题2、ideabuild报错程序包com.alibaba.fastjson不存在3、File->Settings->Build,Execution,Deployment->Compiler自动编译选项也是勾选的解决:1、委托maven构建和运行,确实能执行;但是运行都要执行maveninstall,速度慢 -- 不推荐 2、在......
  • kapt构建报错
    报错信息:Causedby:org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException:Couldnotfindmethodkapt()forarguments[android.arch.persistence.room:compiler:1.1.1]onobjectoftypeorg.gradle.api.internal.artifacts.dsl.de......
  • Connecting to github.com (github.com)|20.205.243.166|:443... failed: Connection
    今天使用ubuntu虚拟机编译buidroot代码时出现一些压缩包无法从github下载,如下图: 可是拷贝上图log中的下载链接到windows浏览器进行打开会自动进行下载成功,如粘贴该链接 https://github.com/winshining/nginx-http-flv-module/archive/v1.2.8/nginx-http-flv-......
  • 报错
    {"cainfo":"1","dev_no":"1","dev_safe_info":"1","fixmedins_code":"H53040300191","fixmedins_name":"玉溪市江川区江城镇中心卫生院","inf_time":"2024-05-1011:5......
  • 使用selenium时,用webdriver初始化浏览器时间过久并伴随报错 operation timed out 的处
    我使用的系统是archlinux,在日常更新软件包时系统自动将selenium更新到目前(2024年5月)最新的版本,即:python-selenium4.20.0-1。在运行我的爬虫时报错缺少依赖包,经过一番查询得知现在的驱动由webdriver_manger统一接管了。webdrivermanger来对浏览器驱动和浏览器版本进行管理,但aur......