煮酒听雨
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册
解决mysql5.7 distinct 与 order by 同时使用导致错误
编辑时间:2018-11-07
编辑:忘尘
阅读:602
在新版的mysql5.7的版本中,如果DISTINCT和order by一起使用将会报3065错误,sql语句无法执行。最新的mysql5.7版本语法比之前5.6版本语法更加严格导致的。DISTINCT和order by都会对数据进行排序操作,所以会产生冲突。 在mysql中distinct的执行顺序高于order by,加了distinct后,distinct字段自带排序功能,会先按照distinct后面的字段进行排序。order by可以改变distinct自带的排序,从而达到你想要的排序效果,而不是distinct的排序效果。 #####解决方案: 编辑mysql5.7的mysql配置文件,添加配置,重启mysql生效 ```linux sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ``` 这段代码同时也可以解决mysql5.7中的group by导致的1055错误。 #####查看mysql的sql_mode ```mysql >mysql select @@sql_mode; ``` <br/> ####sql_mode常用配置项说明 https://dev.mysql.com/doc/refman/5.6/en/sql-mode.html https://yq.aliyun.com/articles/64665?spm=a2c4e.11153940.0.0.6456679ctxPlRy https://www.cnblogs.com/fireporsche/p/8618691.html
来说两句吧
提交评论
最新评论
我的标签
函数
面试
REDIS
LNMP
验证
时间
JS
LINUX
CPA
常量
MYSQL
备份
微信
文件
压缩
优化
SVN
PHP
集合
数组
HTML
收藏
NGINX
配置
日志
性能
加密
下载
FORM
WEB
样式
SQL
表单
配置,面试,REDIS
编码
ARRAY
替换
截取
密码
版本
进程
定时
测试
事务
数据
权限
安全
防火墙
索引
设计模式
安全,面试
缓存
热文排行
LNMP状态管理命令
navicat for mysql 导入xlsx,
(置顶)开发中常用功能知识点笔记
(置顶)收藏优秀分享文章集合
PHP加密解密算法(Discuz!经典代码)
PHP 获取数组第一个元素或最后一个值
Nginx配置 nginx.conf 文件中常用配
MySQL错误日志 [Warning] IP ad
Redis持久化:快照(RDB)和AOF简解
浅析SQLmap
随机文章
友情链接
官方手册
thinkphp
php扩展
Linux命令
lnmp
PHP中文网
鸟哥Linux私房
Nginx中文文档
json格式化
Redis手册
composer中文文档
CentOS下载
流程图
VPN代理
菜鸟网
奇淼教程
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册