MySQL 不同版本下的group by
2021/12/31 19:14:10
本文主要是介绍MySQL 不同版本下的group by,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySQL 不同版本下的group by
大家有没有遇到过这样的坑,在测试站的sql执行得好好的,到线上就不行了。这里就来记录下我在使用mysqll分组查询所遇到的坑。
1、 group by
Group by 语句用于结合聚合函数(如count,sum,avg,max,min),根据一个或多个列对结果集进行分组。
1)去掉重复值:根据group by后面的关键字只显示一行结果;
2)mysql5.7默认开启参数ONLY_FULL_GROUP_BY,表示完全group by,即select后面跟的列group by后面也必须有,但是group by后面跟的列,select后面不一定需要出现
3)mysql5.7group by 默认还有排序功能,8.0默认只分组不排序,需要加order by才排序,这点可以从执行结果是否有Using filesort来判断
2. mysql8.0新特性
1)group by 不再隐式排序
mysql 8.0 对于group by 字段不再隐式排序,如需要排序,必须显式加上order by 子句。
好处:在使用GROUP BY 这样的语句,在没有特殊优化的情况下,MYSQL 8 不在使用 FILESORT 排序后,速度有了大幅度的提升,这说明在没有优化的情况下,MYSQL 8 对于排序和GROUP BY 这样的查询时有利的,并且随着提取的数据越多,则越快,这对 开发者来说是一个好消息。
测试站使用的是mysql5.7版本,线上使用的mysql8.0版本
这篇关于MySQL 不同版本下的group by的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南