今天在使用mysql命令行进行分组时报错:

ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

原因:

看一下group by的语法:

select 选取分组中的列+聚合函数 from 表名称 group by 分组的列

从语法格式来看,是先有分组,再确定检索的列,检索的列只能在参加分组的列中选。

mysql可能有些版本兼容了这个错误,但是我当前版本5.7.9,mac的terminal命令行会报错,

再看一下ONLY_FULL_GROUP_BY的意思是:对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中,也就是说查出来的列必须在group by后面出现否则就会报错,或者这个字段出现在聚合函数里面。

查看mysql版本命令:select version();

查看sql_model参数命令:

SELECT @@GLOBAL.sql_mode;

SELECT @@SESSION.sql_mode;

发现:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

第一项默认开启ONLY_FULL_GROUP_BY,

解决方法:

1.只选择出现在group by后面的列,或者给列增加聚合函数;

2.命令行输入:

set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

默认关掉ONLY_FULL_GROUP_BY!

3,配置文件永久关闭

sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

linux mysql 1055_linux mysql5.7报err 1055错误 sql_mode=only_full_group相关推荐

  1. TP3.2项目 MySQL5.7报错1055 group by新特性

    TP3.2项目中本来使用的是mysql5.6进行开发,切换到5.7之后,突然发现原来的一些sql运行都报错,错误编码1055,错误信息和sql_mode中的"only_full_group_ ...

  2. linux mysql libc.so_mysql-arm-linux-gcc编译报错:libc.soformatnotrecognized.

    小弟新手,之前没接触过arm开发,这两天做毕设碰到了难题,请大家帮忙看下, 先行谢过! 我的开发板是一个实验室网关(HBE-UBI-box2),用来收集传感器传来的信息的.将写好的C文件通过arm-l ...

  3. linux mysql libc.so_mysql-arm-linux-gcc编译报错:libc.so format not recognized.

    小弟新手,之前没接触过arm开发,这两天做毕设碰到了难题,请大家帮忙看下, 先行谢过! 我的开发板是一个实验室网关(HBE-UBI-box2),用来收集传感器传来的信息的.将写好的C文件通过arm-l ...

  4. mysql创建表报错1055的原因_[Err] 1055

    mysql 创建表是出现[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains non ...

  5. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated解决

    今天在使用MySQL查询时报了一个"[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and c ...

  6. msvcp120 mysql_MySql压缩版安装及避免1055错误和msvcp120.dll丢失

    MySql压缩版安装及避免1055错误和msvcp120.dll丢失 MySQL压缩版的安装快速方便,5.7及最新的8版本安装方式大致相同. 在使用group by分组时,可能会遇到1055错误. 另 ...

  7. mysql persistent_MySQL关于InnoDB的几个错误

    阿里云服务器上装有MySQL 5.6,这几天MySQL服务经常死掉,启动MySQL服务(service mysql start),却报如下错误 Starting MySQL.. ERROR! The ...

  8. linux系统mysql报err1055_MySQL Err 1055的解决

    同事在5.7.14的mysql上创建的表,需要在服务器上同步,但是小版本变成了5.7.17(不知道与版本有没有关系) 在Navicat里执行创建表的sql命令时,报错Err 1055 [Err] 10 ...

  9. MySQL报错1055解决办法:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains

    [mysql报错1055 报错解决办法][Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and cont ...

最新文章

  1. webpack 单页面应用实战
  2. 关于ASp.net中的session失效问题的解决办法之一
  3. css 选择一列表菜单,css实现菜单列表随滚动条指定到对应内容
  4. QDD pricing determination does not trigger - set breakpoint to resolve it
  5. lucky前面加a还是an_lucky的用法
  6. 国内首家!平头哥宣布开源RISC-V内核MCU芯片设计平台;IBM驳斥谷歌量子霸权主张;Facebook将赔偿350亿美元……...
  7. TCP半连接队列(syns queue)和全连接队列(accept queue)
  8. 腾讯王者荣耀AI论文首次曝光:五AI王者局开黑与人类战队打成平手
  9. 岁月的脚步,被时间冲刷——如何修复EM ?
  10. Linux查看占用mem的进程脚本
  11. 【陆勤阅读】参加kaggle数据挖掘竞赛是怎样一种体验?
  12. poj 1503 Integer Inquiry高精度
  13. poj1017----模拟
  14. asp.net在前台web页面中使用Javascript调用RTX腾讯通的聊天窗口
  15. AMBA_AXI总线详解
  16. 金葵花股票资金操盘大赛3号选手张朝阳关于疫情对A股市场影响的观点
  17. 微信第三方平台服务器,微信三方平台接入
  18. linux 命令 aft,AFT整理出来的NPC检测命令大全
  19. 【FPGA学习笔记】VHDL语言(五)语言风格描述:行为描述,数据流描述,结构化描述
  20. 51单片机之蜂鸣器弹钢琴

热门文章

  1. java过山车手游,过山车工艺手游(Roller Coaster Craft)
  2. 二手3C市场观察|平台掌握“赛点”后,头部综合垂直回收平台出路在哪?
  3. [转]微信小程序开发:从小白开发出通过自拍预测年龄和颜值的小程序
  4. @DateTimeFormat和@JsonFormat介绍
  5. [imx6ull]ADC编程-烟雾传感器采样
  6. Android动态修改桌面图标新坑总结
  7. Unity URP Planar reflection 平面反射
  8. 崩坏3 ios 转 android,崩坏3三周年安卓与IOS是否可以互通
  9. 图片处理——NDK实现人脸抠图
  10. linux脚本添加source,shell中的source命令的巧妙用法