在MySQL 5.7上使用group by语句出现1055错误问题-mysql教程-

本文的主要内容是讲述在MySQL 5.7上使用group by语句出现1055错误的问题分析以及解决办法,有需要的朋友可以看一下。

1. 在5.7版本以上mysql中使用group by语句进行分组时, 如果select的字段 , 不是完全对应的group by后面的字段 , 有其他字段 , 那么就会报这个错误

ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column

2.这是因为高版本mysql添加了一个sql_mode

查看sql_mode

select @@sql_mode;

mysql> select @@sql_mode;
+——————————————————————————————————————————————-+
| @@sql_mode |
+——————————————————————————————————————————————-+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+——————————————————————————————————————————————-+

可以看到有一个ONLY_FULL_GROUP_BY , 这个就是严格控制group by 和select 字段的 , 在不改变sql语句的前提下 , 把这个去掉就可以了

3.我的ubuntu系统下编辑的这个文件 /etc/mysql/conf.d/mysql.cnf , 其他系统找到对应的配置文件就可以了 ,在[mysqld]块下 ,把sql_mode配置上 , 并且去掉ONLY_FULL_GROUP_BY

sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’

4.此时就正常了

在MySQL 5.7上使用group by语句出现1055错误问题-mysql教程-

相关教程:mysql视频教程

以上就是在MySQL 5.7上使用group by语句出现1055错误问题的详细内容,更多请关注php中文网其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/data/3564.html

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2019年4月24日 下午11:26
下一篇 2019年4月24日 下午11:26

相关推荐

  • MySQL数据库优化的介绍(图文)-mysql教程-学派吧

    本篇文章给大家带来的内容是关于MySQL数据库优化的介绍(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷.(相关推荐:MySQL教程) 1. 优化一览图…

    2019年4月9日
    3.3K00
  • MySQL MID()函数的用法详解(代码示例)-mysql教程-学派吧

    在MySQL中,MID()函数返回从指定位置开始的子字符串。 MID()和SUBSTR()都是SUBSTRING()的同义词。 基本语法是这样的: MID(str,pos,len) 这里,str是字符串,pos是起始子字符串的位置,len是一个可选参数,它决定从起始位置返回的字符数。 这个函数有几种不同的使用方法,所以完整的语法看起来是这样的: MID(st…

    数据库运维 2019年4月9日
    3.1K00
  • mysql存储引擎:myIsam和innodb的区别-mysql教程-

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。 MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYI…

    数据库运维 2019年4月24日
    3.6K00
  • 在MySQL中如何使用LOAD_FILE()函数?(代码示例)-mysql教程-学派吧

    在MySQL中,LOAD_FILE()函数读取一个文件并将其内容作为字符串返回。 语法 LOAD_FILE(file_name) 其中file_name是文件的完整路径。 下面是我从一个文件中选择内容的示例: SELECT LOAD_FILE('/data/test.txt') AS Result; 结果: +————–…

    数据库运维 2019年4月9日
    3.5K00
  • MySQL中如何将字符串转为base64编码?-mysql教程-学派吧

    在MySQL中,TO_BASE64()函数将字符串转换为以base-64编码的字符串并返回结果。(相关推荐:《MySQL教程》) 语法 TO_BASE64(str) 其中str是需要编码的字符串。 例1 -基本用法 下面是一个例子来演示基本用法: SELECT TO_BASE64('Dog'); 结果: +—————-…

    数据库运维 2019年4月9日
    3.6K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部