在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

相关推荐

  • Redis与Memcached有何区别 ?redis和Memcached的区别比较

    本篇文章给大家带来的内容是关于Redis与Memcached有何区别 ?redis和Memcached的区别比较,有一定的参考价值,有需要的朋友可以参考一下, memcached和redis,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了。前两年还在学校时,我曾经读过它们的主要源码,如今写篇笔记从个人角度简单对比一下它们的实现方式,权当做复习,有理…

    数据库运维 2018年11月24日
    3.3K00
  • SQL中datediff函数怎么用?(代码详解)-mysql教程-学派吧

    在SQL Server中,可以使用T-SQL DATEDIFF()函数返回两个日期之间的差异。它适用于任何可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式。因此,你也可以得到两次的差值。 本文提供了SQL Server中的DATEDIFF()函数的使用示例。 DATEDIF…

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

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

    数据库运维 2019年4月9日
    3.1K00
  • mongodb查询表字段、进行字符串截取以及更新的方法-mysql教程-学派吧

    本篇文章给大家带来的内容是关于mongodb查询表字段、进行字符串截取以及更新的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 update() 方法用于更新已存在的文档。语法格式如下: db.collection.update( <query>, <update>, { upsert: <boolean&…

    数据库运维 2019年4月9日
    3.2K00
  • Redis数据库有什么好处,怎么使用

    学派吧- 今天有个用户使用了Redis ,他是把数据库写入到了内存,那速度是叫一个快。但是学派吧也查了相关的材料。发现。站长朋友布置起来有点难度 今天我们不说他如何使用。只说说他的好处及弊端。1. 什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remot…

    2018年8月29日
    4.9K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

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