mysql5.7在使用group by的注意事项
使用 注意事项 by group mysql5.7
2023-06-13 09:17:20 时间
mysql5.7在使用group by的注意事项
1、问题描述
先看一个sql语句报错:
select * from oilDaily group by wellId
这是因为在mysql5.7中开启了sql_mode中的“only_full_group_by”,而这个在执行以往版本中带有group by的语句时就会报错。
2、解决方案(一):
select查找的所有属性都必须出现在group by中 比如下面这样(这也是官网的标准写法):
select a,b from test group by a,b
3、解决方案(二)
在不需要group by的属性上面使用any_value()
函数
例如:
select any_value(oilId),wellId from oilDaily group by wellId
4、解决方案(三)
我们直接删除sql_mode中的only_full_group_by 我用的mysql云数据库,修改方式如下:
1、云数据库修改方案:
点击管理
点击参数设置
找到sql_mode选项
去掉ONLY_FULL_GROUP_BY的勾选。
之后重启下云数据库就行
2、本地数据库修改方案:
如果你是用的本地数据库执行以下命令即可:
set @@global.sqlmode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
你设置上面的值最好用select @@global.sqlmode
查一下,再将ONLY_FULL_GROUP_BY去掉,将剩下的赋值给sqlmode即可。
相关文章
- valgrind的安装及简单使用
- Django应用上线前有哪些注意事项?如何使用同步或异步容器启动Django应用?
- c++使用icu国际化(i18n)
- Java 在使用迭代器迭代集合的过程中的注意事项详解编程语言
- 判断Linux:使用if语句完成多重条件判断(linuxif多个条件)
- MySQL查询和使用时间戳的注意事项(mysql查询时间戳)
- MySQL语句中使用默认值的方法、示例及注意事项(mysql语句默认值)
- 使用DOS终端连接MySQL数据库(dosmysql连接)
- 使用Redis时,非root用户的权限设置有哪些注意事项?(redis非root)
- 重要的Redis使用注意事项(redis注意事项)
- MySQL使用入门:学会正确掌握(mysql 使用方法)
- MySQL中高效使用CASE语句(mysql中使用case)
- MySQL事务操作详解解析事务的概念使用方法及注意事项(mysql中事务怎么用)
- MySQL中txt字段的使用方法与注意事项(mysql中txt字段)
- MySQL中eval函数的使用方法和注意事项详解(mysql中eval)
- 掌握Redis集群的正确命令使用(查看redis集群命令)
- MySQL不等于与比较符的使用方法及注意事项(mysql不等于和)
- MySQL数据库不支持使用临时表,解决方法与注意事项(mysql不支持临时表)
- 如何在Oracle中使用UID自增(oracle中uid自增)
- Javascript中使用exec进行正则表达式全局匹配时的注意事项
- 在linux或unix服务器上安装、使用MySQL的注意事项